Ditto 3.0.9
Loading...
Searching...
No Matches
Rga.hpp
1#ifndef _DITTO_RGA_
2#define _DITTO_RGA_
3
4#include "AbstractDocumentPath.hpp"
5
6#include "Helpers.hpp"
7
8#include "dittoffi.hpp"
9
10#include <vector>
11
12namespace ditto {
19class Rga {
20 friend class AbstractDocumentPath;
21
22public:
23 DittoCrdtType get_type() const;
24
29 std::vector<nlohmann::json> get_value() const;
30
31protected:
37 Rga(std::vector<nlohmann::json> value = std::vector<nlohmann::json>())
38 DITTO_DEPRECATED;
39
40 // TODO : use std::any when we bump up to C++17.
41 // The array representation of the RGA.
42 std::vector<nlohmann::json> value;
43
44 // Size accessor to the inner value
45 size_t size() const;
46};
47
48void to_json(nlohmann::json &j, const Rga &a);
49
50} // namespace ditto
51
52#endif
Provides an interface to specify a path to a key in a document that you can then call various update ...
Definition AbstractDocumentPath.hpp:21
Represents a CRDT Replicated Growable Array (RGA).
Definition Rga.hpp:19
std::vector< nlohmann::json > get_value() const
Return the array representation of the RGA.
Definition Rga.cpp:13
basic_json<> json
default JSON class
Definition json.hpp:2933