Couchbase C++ SDK
1.4.0 (rev. 59aa900)
Toggle main menu visibility
Loading...
Searching...
No Matches
watch_query_indexes_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_codes.hxx
>
22
23
#include <optional>
24
#include <string>
25
26
namespace
couchbase
27
{
28
class
watch_query_indexes_options
:
public
common_options
<watch_query_indexes_options>
29
{
30
public
:
31
auto
watch_primary
(
bool
watch_primary
) ->
watch_query_indexes_options
&
32
{
33
watch_primary_ =
watch_primary
;
34
return
self
();
35
}
36
37
template
<
typename
T>
38
auto
polling_interval
(T duration)
39
{
40
polling_interval_ = std::chrono::duration_cast<std::chrono::milliseconds>(duration);
41
return
self
();
42
}
43
50
struct
built
:
public
common_options
<watch_query_indexes_options>
::built
{
51
bool
watch_primary
{};
52
std::chrono::milliseconds
polling_interval
;
53
};
54
66
[[nodiscard]]
auto
build
() const ->
built
67
{
68
return
{
build_common_options
(), watch_primary_, polling_interval_ };
69
}
70
71
private
:
72
bool
watch_primary_{
false
};
73
std::chrono::milliseconds polling_interval_{ 1000 };
74
};
75
82
83
using
watch_query_indexes_handler
= std::function<void(
error
)>;
84
}
// namespace couchbase
couchbase::common_options
Common options that used by most operations.
Definition
common_options.hxx:38
couchbase::common_options< watch_query_indexes_options >::self
auto self() -> watch_query_indexes_options &
Definition
common_options.hxx:116
couchbase::common_options< watch_query_indexes_options >::build_common_options
auto build_common_options() const -> built
Definition
common_options.hxx:103
couchbase::error
Definition
error.hxx:31
couchbase::watch_query_indexes_options
Definition
watch_query_indexes_options.hxx:29
couchbase::watch_query_indexes_options::polling_interval
auto polling_interval(T duration)
Definition
watch_query_indexes_options.hxx:38
couchbase::watch_query_indexes_options::watch_primary
auto watch_primary(bool watch_primary) -> watch_query_indexes_options &
Definition
watch_query_indexes_options.hxx:31
couchbase::watch_query_indexes_options::build
auto build() const -> built
Validates options and returns them as an immutable value.
Definition
watch_query_indexes_options.hxx:66
common_options.hxx
error_codes.hxx
couchbase
Represents a single item from the result of scan().
Definition
allow_querying_search_index_options.hxx:28
couchbase::watch_query_indexes_handler
std::function< void(error)> watch_query_indexes_handler
The signature for the handler of the get_all_indexes() operation.
Definition
watch_query_indexes_options.hxx:83
couchbase::watch_query_indexes_options::built
Immutable value object representing consistent options.
Definition
watch_query_indexes_options.hxx:50
couchbase::watch_query_indexes_options::built::watch_primary
bool watch_primary
Definition
watch_query_indexes_options.hxx:51
couchbase::watch_query_indexes_options::built::polling_interval
std::chrono::milliseconds polling_interval
Definition
watch_query_indexes_options.hxx:52
couchbase
watch_query_indexes_options.hxx
Generated by
1.17.0