Couchbase C++ SDK
1.4.0 (rev. 59aa900)
Toggle main menu visibility
Loading...
Searching...
No Matches
term_range_query.hxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2
/*
3
* Copyright 2023-Present Couchbase, Inc.
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*/
17
18
#pragma once
19
20
#include <
couchbase/match_operator.hxx
>
21
#include <
couchbase/search_query.hxx
>
22
23
#include <optional>
24
#include <string>
25
26
namespace
couchbase
27
{
41
class
term_range_query
:
public
search_query
42
{
43
public
:
55
auto
min
(std::string value) ->
term_range_query
&
56
{
57
min_ = std::move(value);
58
return
*
this
;
59
}
60
72
auto
min
(std::string value,
bool
inclusive) ->
term_range_query
&
73
{
74
min_ = std::move(value);
75
inclusive_min_ = inclusive;
76
return
*
this
;
77
}
78
90
auto
max
(std::string value) ->
term_range_query
&
91
{
92
max_ = std::move(value);
93
return
*
this
;
94
}
95
107
auto
max
(std::string value,
bool
inclusive) ->
term_range_query
&
108
{
109
max_ = std::move(value);
110
inclusive_max_ = inclusive;
111
return
*
this
;
112
}
113
124
auto
field
(std::string field_name) ->
term_range_query
&
125
{
126
field_ = std::move(field_name);
127
return
*
this
;
128
}
129
136
[[nodiscard]]
auto
encode
() const -> encoded_search_query override;
137
138
private:
139
std::optional<std::
string
> min_{};
140
std::optional<std::string> max_{};
141
std::optional<bool> inclusive_min_{};
142
std::optional<bool> inclusive_max_{};
143
std::optional<std::string> field_{};
144
};
145
}
// namespace couchbase
couchbase::search_query::search_query
search_query()=default
couchbase::term_range_query
The term range query finds documents containing a string value in the specified field within the spec...
Definition
term_range_query.hxx:42
couchbase::term_range_query::max
auto max(std::string value, bool inclusive) -> term_range_query &
Set upper limit and specify whether to include it into the limit.
Definition
term_range_query.hxx:107
couchbase::term_range_query::encode
auto encode() const -> encoded_search_query override
couchbase::term_range_query::max
auto max(std::string value) -> term_range_query &
Set upper limit of the range.
Definition
term_range_query.hxx:90
couchbase::term_range_query::field
auto field(std::string field_name) -> term_range_query &
If a field is specified, only terms in that field will be matched.
Definition
term_range_query.hxx:124
couchbase::term_range_query::min
auto min(std::string value, bool inclusive) -> term_range_query &
Set lower limit and specify whether to include it into the limit.
Definition
term_range_query.hxx:72
couchbase::term_range_query::min
auto min(std::string value) -> term_range_query &
Set lower limit of the range.
Definition
term_range_query.hxx:55
match_operator.hxx
couchbase
Represents a single item from the result of scan().
Definition
allow_querying_search_index_options.hxx:28
search_query.hxx
couchbase
term_range_query.hxx
Generated by
1.17.0