Couchbase C++ SDK 1.0.1 (rev. 58d46d7)
Loading...
Searching...
No Matches
lookup_in_all_replicas_options.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 2020-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
21
24#include <couchbase/error.hxx>
25#include <couchbase/expiry.hxx>
29
30#include <functional>
31#include <vector>
32
33namespace couchbase
34{
41struct lookup_in_all_replicas_options : common_options<lookup_in_all_replicas_options> {
48 struct built : public common_options<lookup_in_all_replicas_options>::built {
50 };
51
64 {
65 read_preference_ = preference;
66 return self();
67 }
68
80 [[nodiscard]] auto build() const -> built
81 {
82 return {
84 read_preference_,
85 };
86 }
87
88private:
90};
91
98using lookup_in_all_replicas_result = std::vector<lookup_in_replica_result>;
99
107
108#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
109namespace core
110{
111class cluster;
112
113namespace impl::subdoc
114{
115struct command;
116} // namespace impl::subdoc
117#endif
118
119} // namespace core
120} // namespace couchbase
The cluster is the main entry point when connecting to a Couchbase cluster.
Definition cluster.hxx:60
Common options that used by most operations.
Definition common_options.hxx:37
auto self() -> lookup_in_all_replicas_options &
Allows to return the right options builder instance for child implementations.
Definition common_options.hxx:102
auto build_common_options() const -> built
Definition common_options.hxx:89
Definition error.hxx:30
Represents a single item from the result of collection::scan()
Definition allow_querying_search_index_options.hxx:28
std::vector< lookup_in_replica_result > lookup_in_all_replicas_result
The result for the collection::lookup_in_all_replicas() operation.
Definition lookup_in_all_replicas_options.hxx:98
read_preference
Select read preference (or affinity) for the replica APIs such as:
Definition read_preference.hxx:39
@ no_preference
Do not enforce any filtering for replica set.
std::function< void(error, lookup_in_all_replicas_result)> lookup_in_all_replicas_handler
The signature for the handler of the collection::lookup_in_all_replicas() operation.
Definition lookup_in_all_replicas_options.hxx:106
Immutable value object representing consistent options.
Definition lookup_in_all_replicas_options.hxx:48
couchbase::read_preference read_preference
Definition lookup_in_all_replicas_options.hxx:49
Options for collection::lookup_in_all_replicas().
Definition lookup_in_all_replicas_options.hxx:41
auto read_preference(read_preference preference) -> lookup_in_all_replicas_options &
Choose how the replica nodes will be selected.
Definition lookup_in_all_replicas_options.hxx:63
auto build() const -> built
Validates options and returns them as an immutable value.
Definition lookup_in_all_replicas_options.hxx:80