xrpld
Loading...
Searching...
No Matches
JsonPropertyStream.cpp
1#include <xrpl/json/JsonPropertyStream.h>
2
3#include <xrpl/json/json_value.h>
4
5#include <string>
6
7namespace xrpl {
8
10{
11 stack.reserve(64);
12 stack.push_back(&topValue);
13}
14
15json::Value const&
17{
18 return topValue;
19}
20
21void
23{
24 // top is array
25 json::Value& top(*stack.back());
27 stack.push_back(&map);
28}
29
30void
32{
33 // top is a map
34 json::Value& top(*stack.back());
36 stack.push_back(&map);
37}
38
39void
41{
42 stack.pop_back();
43}
44
45void
47{
48 (*stack.back())[key] = v;
49}
50
51void
52JsonPropertyStream::add(std::string const& key, unsigned short v)
53{
54 (*stack.back())[key] = v;
55}
56
57void
59{
60 (*stack.back())[key] = v;
61}
62
63void
64JsonPropertyStream::add(std::string const& key, unsigned int v)
65{
66 (*stack.back())[key] = v;
67}
68
69void
71{
72 (*stack.back())[key] = int(v);
73}
74
75void
77{
78 (*stack.back())[key] = v;
79}
80
81void
83{
84 (*stack.back())[key] = v;
85}
86
87void
89{
90 (*stack.back())[key] = v;
91}
92
93void
95{
96 // top is array
97 json::Value& top(*stack.back());
99 stack.push_back(&vec);
100}
101
102void
104{
105 // top is a map
106 json::Value& top(*stack.back());
108 stack.push_back(&vec);
109}
110
111void
113{
114 stack.pop_back();
115}
116
117void
119{
120 stack.back()->append(v);
121}
122
123void
124JsonPropertyStream::add(unsigned short v)
125{
126 stack.back()->append(v);
127}
128
129void
131{
132 stack.back()->append(v);
133}
134
135void
137{
138 stack.back()->append(v);
139}
140
141void
143{
144 stack.back()->append(int(v));
145}
146
147void
149{
150 stack.back()->append(v);
151}
152
153void
155{
156 stack.back()->append(v);
157}
158
159void
161{
162 stack.back()->append(v);
163}
164
165} // namespace xrpl
Represents a JSON value.
Definition json_value.h:130
json::Value const & top() const
void add(std::string const &key, short value) override
std::vector< json::Value * > stack
JSON (JavaScript Object Notation).
Definition json_errors.h:5
@ Array
array value (ordered list)
Definition json_value.h:25
@ Object
object value (collection of name/value pairs).
Definition json_value.h:26
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5