Couchbase C++ SDK
1.4.0 (rev. 59aa900)
Toggle main menu visibility
Loading...
Searching...
No Matches
get_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
20
#include <
couchbase/common_options.hxx
>
21
#include <
couchbase/error.hxx
>
22
#include <
couchbase/get_replica_result.hxx
>
23
#include <
couchbase/read_preference.hxx
>
24
25
#include <functional>
26
#include <vector>
27
28
namespace
couchbase
29
{
36
struct
get_all_replicas_options
:
public
common_options
<get_all_replicas_options> {
43
struct
built
:
public
common_options
<get_all_replicas_options>
::built
{
44
couchbase::read_preference
read_preference
;
45
};
46
58
auto
read_preference
(
read_preference
preference) ->
get_all_replicas_options
&
59
{
60
read_preference_ = preference;
61
return
self
();
62
}
63
75
[[nodiscard]]
auto
build
() const ->
built
76
{
77
return
{
78
build_common_options
(),
79
read_preference_,
80
};
81
}
82
83
private
:
84
couchbase::read_preference
read_preference_{
read_preference::no_preference
};
85
};
86
93
using
get_all_replicas_result
= std::vector<get_replica_result>;
94
101
using
get_all_replicas_handler
= std::function<void(
error
,
get_all_replicas_result
)>;
102
}
// namespace couchbase
couchbase::common_options
Common options that used by most operations.
Definition
common_options.hxx:38
couchbase::common_options< get_all_replicas_options >::self
auto self() -> get_all_replicas_options &
Definition
common_options.hxx:116
couchbase::common_options< get_all_replicas_options >::build_common_options
auto build_common_options() const -> built
Definition
common_options.hxx:103
couchbase::error
Definition
error.hxx:31
common_options.hxx
error.hxx
get_replica_result.hxx
couchbase
Represents a single item from the result of scan().
Definition
allow_querying_search_index_options.hxx:28
couchbase::read_preference
read_preference
Select read preference (or affinity) for the replica APIs such as:
Definition
read_preference.hxx:39
couchbase::read_preference::no_preference
@ no_preference
Do not enforce any filtering for replica set.
Definition
read_preference.hxx:43
couchbase::get_all_replicas_handler
std::function< void(error, get_all_replicas_result)> get_all_replicas_handler
The signature for the handler of the get_all_replicas() operation.
Definition
get_all_replicas_options.hxx:101
couchbase::get_all_replicas_result
std::vector< get_replica_result > get_all_replicas_result
The result for the get_all_replicas() operation.
Definition
get_all_replicas_options.hxx:93
read_preference.hxx
couchbase::get_all_replicas_options::built
Immutable value object representing consistent options.
Definition
get_all_replicas_options.hxx:43
couchbase::get_all_replicas_options::built::read_preference
couchbase::read_preference read_preference
Definition
get_all_replicas_options.hxx:44
couchbase::get_all_replicas_options
Options for get_all_replicas().
Definition
get_all_replicas_options.hxx:36
couchbase::get_all_replicas_options::read_preference
auto read_preference(read_preference preference) -> get_all_replicas_options &
Choose how the replica nodes will be selected.
Definition
get_all_replicas_options.hxx:58
couchbase::get_all_replicas_options::build
auto build() const -> built
Validates options and returns them as an immutable value.
Definition
get_all_replicas_options.hxx:75
couchbase
get_all_replicas_options.hxx
Generated by
1.17.0