Couchbase C++ SDK
1.4.0 (rev. 59aa900)
Toggle main menu visibility
Loading...
Searching...
No Matches
conjunction_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/search_query.hxx
>
21
22
#include <memory>
23
#include <vector>
24
25
namespace
couchbase
26
{
43
class
conjunction_query
:
public
search_query
44
{
45
public
:
55
template
<
typename
... SearchQuery>
56
explicit
conjunction_query
(SearchQuery&&... queries)
57
{
58
and_also
(std::forward<SearchQuery>(queries)...);
59
}
60
72
template
<
typename
... SearchQuery>
73
auto
and_also
(SearchQuery... queries) ->
conjunction_query
&
74
{
75
(conjuncts_.emplace_back(std::make_shared<SearchQuery>(std::move(queries))), ...);
76
return
*
this
;
77
}
78
85
[[nodiscard]]
auto
encode
() const -> encoded_search_query override;
86
87
private:
88
std::vector<std::shared_ptr<
search_query
>> conjuncts_{};
89
};
90
}
// namespace couchbase
couchbase::conjunction_query::conjunction_query
conjunction_query(SearchQuery &&... queries)
Create a conjunction query.
Definition
conjunction_query.hxx:56
couchbase::conjunction_query::and_also
auto and_also(SearchQuery... queries) -> conjunction_query &
Add one or more queries to add to the conjunction.
Definition
conjunction_query.hxx:73
couchbase::conjunction_query::encode
auto encode() const -> encoded_search_query override
couchbase::search_query::search_query
search_query()=default
couchbase
Represents a single item from the result of scan().
Definition
allow_querying_search_index_options.hxx:28
search_query.hxx
couchbase
conjunction_query.hxx
Generated by
1.17.0