Couchbase C++ SDK
1.4.0 (rev. 59aa900)
Toggle main menu visibility
Loading...
Searching...
No Matches
counter.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/subdoc/fwd/command.hxx
>
21
#include <
couchbase/subdoc/fwd/command_bundle.hxx
>
22
23
#include <string>
24
#include <vector>
25
26
namespace
couchbase
27
{
28
class
mutate_in_specs
;
29
30
namespace
subdoc
31
{
38
class
counter
39
{
40
public
:
50
auto
xattr
(
bool
value =
true
) -> counter&
51
{
52
xattr_ = value;
53
return
*
this
;
54
}
55
65
auto
create_path
(
bool
value =
true
) -> counter&
66
{
67
create_path_ = value;
68
return
*
this
;
69
}
70
71
private
:
72
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
73
friend
couchbase::mutate_in_specs
;
74
#endif
75
76
counter
(std::string path, int64_t value)
77
: path_(std::move(path))
78
, delta_{ value }
79
{
80
}
81
82
void
encode(core::impl::subdoc::command_bundle& bundle)
const
;
83
84
std::string path_;
85
int64_t delta_;
86
bool
xattr_{
false
};
87
bool
create_path_{
false
};
88
};
89
}
// namespace subdoc
90
}
// namespace couchbase
couchbase::mutate_in_specs
Definition
mutate_in_specs.hxx:80
couchbase::subdoc::counter
An intention to perform a SubDocument counter operation.
Definition
counter.hxx:39
couchbase::subdoc::counter::xattr
auto xattr(bool value=true) -> counter &
Sets that this is an extended attribute (xattr) field.
Definition
counter.hxx:50
couchbase::subdoc::counter::create_path
auto create_path(bool value=true) -> counter &
Sets that this parent fields should be created automatically.
Definition
counter.hxx:65
command.hxx
command_bundle.hxx
couchbase::subdoc
Definition
array_add_unique.hxx:33
couchbase
Represents a single item from the result of scan().
Definition
allow_querying_search_index_options.hxx:28
couchbase
subdoc
counter.hxx
Generated by
1.17.0