Couchbase C++ SDK
1.4.0 (rev. 59aa900)
Toggle main menu visibility
Loading...
Searching...
No Matches
create_primary_query_index_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/error_codes.hxx
>
23
24
#include <optional>
25
#include <string>
26
27
namespace
couchbase
28
{
29
class
create_primary_query_index_options
:
public
common_options
<create_primary_query_index_options>
30
{
31
public
:
40
auto
index_name
(std::string
index_name
) ->
create_primary_query_index_options
&
41
{
42
index_name_.emplace(
index_name
);
43
return
self
();
44
}
45
56
auto
ignore_if_exists
(
bool
ignore_if_exists
) ->
create_primary_query_index_options
&
57
{
58
ignore_if_exists_ =
ignore_if_exists
;
59
return
self
();
60
}
61
72
auto
build_deferred
(
bool
deferred) ->
create_primary_query_index_options
&
73
{
74
deferred_ = deferred;
75
return
self
();
76
}
77
88
auto
num_replicas
(uint8_t
num_replicas
) ->
create_primary_query_index_options
&
89
{
90
num_replicas_ =
num_replicas
;
91
return
self
();
92
}
93
100
struct
built
:
public
common_options
<create_primary_query_index_options>
::built
{
101
const
std::optional<std::string>
index_name
{};
102
bool
ignore_if_exists
{};
103
bool
deferred
{};
104
std::optional<uint8_t>
num_replicas
{};
105
};
106
118
[[nodiscard]]
auto
build
() const ->
built
119
{
120
return
{
build_common_options
(), index_name_, ignore_if_exists_, deferred_, num_replicas_ };
121
}
122
123
private
:
124
std::optional<std::string> index_name_{};
125
bool
ignore_if_exists_{
false
};
126
bool
deferred_{
false
};
127
std::optional<uint8_t> num_replicas_{};
128
};
129
136
137
using
create_primary_query_index_handler
= std::function<void(
error
)>;
138
}
// namespace couchbase
couchbase::common_options
Common options that used by most operations.
Definition
common_options.hxx:38
couchbase::common_options< create_primary_query_index_options >::self
auto self() -> create_primary_query_index_options &
Definition
common_options.hxx:116
couchbase::common_options< create_primary_query_index_options >::build_common_options
auto build_common_options() const -> built
Definition
common_options.hxx:103
couchbase::create_primary_query_index_options
Definition
create_primary_query_index_options.hxx:30
couchbase::create_primary_query_index_options::index_name
auto index_name(std::string index_name) -> create_primary_query_index_options &
Give the primary index a name.
Definition
create_primary_query_index_options.hxx:40
couchbase::create_primary_query_index_options::build_deferred
auto build_deferred(bool deferred) -> create_primary_query_index_options &
Set flag to defer building of the index.
Definition
create_primary_query_index_options.hxx:72
couchbase::create_primary_query_index_options::build
auto build() const -> built
Validates options and returns them as an immutable value.
Definition
create_primary_query_index_options.hxx:118
couchbase::create_primary_query_index_options::ignore_if_exists
auto ignore_if_exists(bool ignore_if_exists) -> create_primary_query_index_options &
Set flag to ignore error if the index already exists.
Definition
create_primary_query_index_options.hxx:56
couchbase::create_primary_query_index_options::num_replicas
auto num_replicas(uint8_t num_replicas) -> create_primary_query_index_options &
Set the number of replicas the index will have.
Definition
create_primary_query_index_options.hxx:88
couchbase::error
Definition
error.hxx:31
common_options.hxx
error.hxx
error_codes.hxx
couchbase
Represents a single item from the result of scan().
Definition
allow_querying_search_index_options.hxx:28
couchbase::create_primary_query_index_handler
std::function< void(error)> create_primary_query_index_handler
The signature for the handler of the get_all_indexes() operation.
Definition
create_primary_query_index_options.hxx:137
couchbase::create_primary_query_index_options::built
Immutable value object representing consistent options.
Definition
create_primary_query_index_options.hxx:100
couchbase::create_primary_query_index_options::built::num_replicas
std::optional< uint8_t > num_replicas
Definition
create_primary_query_index_options.hxx:104
couchbase::create_primary_query_index_options::built::deferred
bool deferred
Definition
create_primary_query_index_options.hxx:103
couchbase::create_primary_query_index_options::built::ignore_if_exists
bool ignore_if_exists
Definition
create_primary_query_index_options.hxx:102
couchbase::create_primary_query_index_options::built::index_name
const std::optional< std::string > index_name
Definition
create_primary_query_index_options.hxx:101
couchbase
create_primary_query_index_options.hxx
Generated by
1.17.0