Couchbase C++ SDK 1.0.4 (rev. 5355b0f)
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
22
23#include <optional>
24#include <string>
25
26namespace couchbase
27{
42{
43public:
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
138private:
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
Base class for full text search queries.
Definition search_query.hxx:33
The term range query finds documents containing a string value in the specified field within the spec...
Definition term_range_query.hxx:42
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
auto encode() const -> encoded_search_query override
auto max(std::string value) -> term_range_query &
Set upper limit of the range.
Definition term_range_query.hxx:90
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
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
auto min(std::string value) -> term_range_query &
Set lower limit of the range.
Definition term_range_query.hxx:55
Represents a single item from the result of collection::scan()
Definition allow_querying_search_index_options.hxx:28