LeviLamina
Loading...
Searching...
No Matches
PropertyBag.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/buffer_span.h"
7#include "mc/deps/json/Value.h"
8
9class PropertyBag {
10public:
11 // member variables
12 // NOLINTBEGIN
13 ::ll::TypedStorage<8, 16, ::Json::Value> mJsonValue;
14 ::ll::TypedStorage<4, 4, int> mChangeVersion;
15 // NOLINTEND
16
17public:
18 // member functions
19 // NOLINTBEGIN
20 MCAPI PropertyBag();
21
22 MCAPI explicit PropertyBag(::Json::Value const& jsonValue);
23
24#ifdef LL_PLAT_C
25 MCAPI ::std::unique_ptr<::PropertyBag> clone() const;
26
27 MCAPI void erase(::std::string_view key);
28
29 MCFOLD int getChangeVersion() const;
30
31 MCAPI bool has(::std::string_view key) const;
32
33 MCAPI bool set(::std::string_view key, ::std::vector<::Json::Value> const& val);
34
35 MCAPI bool set(::std::string_view key, ::std::vector<bool> const& val);
36
37 MCAPI bool set(::std::string_view key, ::buffer_span<int> val);
38
39 MCAPI bool set(::std::string_view key, ::buffer_span<::std::string> val);
40#endif
41
42 MCFOLD ::Json::Value const& toJsonValue() const;
43
44 MCAPI ::std::string toString() const;
45 // NOLINTEND
46
47public:
48 // static variables
49 // NOLINTBEGIN
50 MCAPI static ::PropertyBag& EMPTY();
51 // NOLINTEND
52
53public:
54 // constructor thunks
55 // NOLINTBEGIN
56 MCAPI void* $ctor();
57
58 MCAPI void* $ctor(::Json::Value const& jsonValue);
59 // NOLINTEND
60};
Definition Value.h:16
Definition buffer_span.h:6