Couchbase C++ SDK
1.4.0 (rev. 59aa900)
Toggle main menu visibility
Loading...
Searching...
No Matches
get_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_result.hxx
>
23
24
#include <chrono>
25
#include <functional>
26
#include <memory>
27
#include <optional>
28
29
namespace
couchbase
30
{
37
struct
get_options
:
public
common_options
<get_options> {
44
struct
built
:
public
common_options
<get_options>
::built
{
45
const
bool
with_expiry
;
46
const
std::vector<std::string>
projections
;
47
};
48
60
[[nodiscard]]
auto
build
() const ->
built
61
{
62
return
{
build_common_options
(), with_expiry_, projections_ };
63
}
64
75
auto
with_expiry
(
bool
return_expiry) ->
get_options
&
76
{
77
with_expiry_ = return_expiry;
78
return
self
();
79
}
80
94
auto
project
(std::vector<std::string> field_paths) ->
get_options
&
95
{
96
projections_ = std::move(field_paths);
97
return
self
();
98
}
99
100
private
:
101
bool
with_expiry_{
false
};
102
std::vector<std::string> projections_{};
103
};
104
111
using
get_handler
= std::function<void(
error
,
get_result
)>;
112
}
// namespace couchbase
couchbase::common_options
Common options that used by most operations.
Definition
common_options.hxx:38
couchbase::common_options< get_options >::self
auto self() -> get_options &
Definition
common_options.hxx:116
couchbase::common_options< get_options >::build_common_options
auto build_common_options() const -> built
Definition
common_options.hxx:103
couchbase::error
Definition
error.hxx:31
couchbase::get_result
Represents result of get.
Definition
get_result.hxx:45
common_options.hxx
error.hxx
get_result.hxx
couchbase
Represents a single item from the result of scan().
Definition
allow_querying_search_index_options.hxx:28
couchbase::get_handler
std::function< void(error, get_result)> get_handler
The signature for the handler of the get() operation.
Definition
get_options.hxx:111
couchbase::get_options::built
Immutable value object representing consistent options.
Definition
get_options.hxx:44
couchbase::get_options::built::with_expiry
const bool with_expiry
Definition
get_options.hxx:45
couchbase::get_options::built::projections
const std::vector< std::string > projections
Definition
get_options.hxx:46
couchbase::get_options
Options for collection::get().
Definition
get_options.hxx:37
couchbase::get_options::build
auto build() const -> built
Validates options and returns them as an immutable value.
Definition
get_options.hxx:60
couchbase::get_options::project
auto project(std::vector< std::string > field_paths) -> get_options &
Allows to specify a custom list paths to fetch from the document instead of the whole.
Definition
get_options.hxx:94
couchbase::get_options::with_expiry
auto with_expiry(bool return_expiry) -> get_options &
If set to true, the get will fetch the expiry for the document as well and return it as part of the g...
Definition
get_options.hxx:75
couchbase
get_options.hxx
Generated by
1.17.0