Couchbase C++ SDK 1.0.1 (rev. 58d46d7)
Loading...
Searching...
No Matches
mutation_token.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 <cstdint>
21#include <string>
22
23namespace couchbase
24{
32{
33public:
38 mutation_token() = default;
39
49 explicit mutation_token(std::uint64_t partition_uuid,
50 std::uint64_t sequence_number,
51 std::uint16_t partition_id,
52 std::string bucket_name)
53 : partition_uuid_{ partition_uuid }
54 , sequence_number_{ sequence_number }
55 , partition_id_{ partition_id }
56 , bucket_name_{ std::move(bucket_name) }
57 {
58 }
59
68 [[nodiscard]] auto partition_uuid() const -> std::uint64_t
69 {
70 return partition_uuid_;
71 }
72
81 [[nodiscard]] auto sequence_number() const -> std::uint64_t
82 {
83 return sequence_number_;
84 }
85
94 [[nodiscard]] auto partition_id() const -> std::uint16_t
95 {
96 return partition_id_;
97 }
98
107 [[nodiscard]] auto bucket_name() const -> std::string
108 {
109 return bucket_name_;
110 }
111
112private:
113 std::uint64_t partition_uuid_{ 0 };
114 std::uint64_t sequence_number_{ 0 };
115 std::uint16_t partition_id_{ 0 };
116 std::string bucket_name_{};
117};
118} // namespace couchbase
Value object to contain partition details and sequence number.
Definition mutation_token.hxx:32
auto bucket_name() const -> std::string
Name of the bucket.
Definition mutation_token.hxx:107
mutation_token(std::uint64_t partition_uuid, std::uint64_t sequence_number, std::uint16_t partition_id, std::string bucket_name)
Definition mutation_token.hxx:49
auto sequence_number() const -> std::uint64_t
Sequence number associated with the document.
Definition mutation_token.hxx:81
auto partition_id() const -> std::uint16_t
ID of partition (also known as vBucket).
Definition mutation_token.hxx:94
auto partition_uuid() const -> std::uint64_t
UUID of partition.
Definition mutation_token.hxx:68
Represents a single item from the result of collection::scan()
Definition allow_querying_search_index_options.hxx:28