ledger-core
DynamicArray.hpp
1 // AUTOGENERATED FILE - DO NOT MODIFY!
2 // This file generated by Djinni from dynamic.djinni
3 
4 #ifndef DJINNI_GENERATED_DYNAMICARRAY_HPP
5 #define DJINNI_GENERATED_DYNAMICARRAY_HPP
6 
7 #include "../utils/optional.hpp"
8 #include <cstdint>
9 #include <memory>
10 #include <string>
11 #include <vector>
12 #ifndef LIBCORE_EXPORT
13  #if defined(_MSC_VER)
14  #include <libcore_export.h>
15  #else
16  #define LIBCORE_EXPORT
17  #endif
18 #endif
19 
20 namespace ledger { namespace core { namespace api {
21 
22 class DynamicObject;
23 enum class DynamicType;
24 
26 class LIBCORE_EXPORT DynamicArray {
27 public:
28  virtual ~DynamicArray() {}
29 
34  virtual int64_t size() = 0;
35 
41  virtual std::shared_ptr<DynamicArray> pushInt(int32_t value) = 0;
42 
48  virtual std::shared_ptr<DynamicArray> pushLong(int64_t value) = 0;
49 
55  virtual std::shared_ptr<DynamicArray> pushString(const std::string & value) = 0;
56 
62  virtual std::shared_ptr<DynamicArray> pushDouble(double value) = 0;
63 
69  virtual std::shared_ptr<DynamicArray> pushData(const std::vector<uint8_t> & value) = 0;
70 
76  virtual std::shared_ptr<DynamicArray> pushBoolean(bool value) = 0;
77 
83  virtual std::shared_ptr<DynamicArray> pushObject(const std::shared_ptr<DynamicObject> & value) = 0;
84 
90  virtual std::shared_ptr<DynamicArray> pushArray(const std::shared_ptr<DynamicArray> & value) = 0;
91 
97  virtual std::experimental::optional<std::string> getString(int64_t index) = 0;
98 
104  virtual std::experimental::optional<int32_t> getInt(int64_t index) = 0;
105 
111  virtual std::experimental::optional<int64_t> getLong(int64_t index) = 0;
112 
118  virtual std::experimental::optional<double> getDouble(int64_t index) = 0;
119 
125  virtual std::experimental::optional<std::vector<uint8_t>> getData(int64_t index) = 0;
126 
132  virtual std::experimental::optional<bool> getBoolean(int64_t index) = 0;
133 
139  virtual std::shared_ptr<DynamicObject> getObject(int64_t index) = 0;
140 
146  virtual std::shared_ptr<DynamicArray> getArray(int64_t index) = 0;
147 
153  virtual std::shared_ptr<DynamicArray> concat(const std::shared_ptr<DynamicArray> & array) = 0;
154 
160  virtual std::experimental::optional<DynamicType> getType(int64_t index) = 0;
161 
167  virtual bool remove(int64_t index) = 0;
168 
173  virtual std::string dump() = 0;
174 
179  virtual std::vector<uint8_t> serialize() = 0;
180 
185  virtual bool isReadOnly() = 0;
186 
191  static std::shared_ptr<DynamicArray> newInstance();
192 
198  static std::shared_ptr<DynamicArray> load(const std::vector<uint8_t> & serialized);
199 };
200 
201 } } } // namespace ledger::core::api
202 #endif //DJINNI_GENERATED_DYNAMICARRAY_HPP
Definition: DynamicArray.hpp:26
DynamicType
Definition: DynamicType.hpp:20
Definition: Account.cpp:8