join 1.0
lightweight network framework library
Loading...
Searching...
No Matches
sax.hpp
Go to the documentation of this file.
1
25#ifndef JOIN_DATA_SAX_HPP
26#define JOIN_DATA_SAX_HPP
27
28// libjoin.
29#include <join/sax_error.hpp>
30#include <join/value.hpp>
31
32// C++.
33#include <string_view>
34
35// C.
36#include <cstdint>
37#include <cstddef>
38
39namespace join
40{
42 constexpr size_t saxMaxDepth = 256;
43
48 {
53 int setNull () noexcept
54 {
55 return 0;
56 }
57
63 int setBool ([[maybe_unused]] bool value) noexcept
64 {
65 return 0;
66 }
67
73 int setInt ([[maybe_unused]] int32_t value) noexcept
74 {
75 return 0;
76 }
77
83 int setUint ([[maybe_unused]] uint32_t value) noexcept
84 {
85 return 0;
86 }
87
93 int setInt64 ([[maybe_unused]] int64_t value) noexcept
94 {
95 return 0;
96 }
97
103 int setUint64 ([[maybe_unused]] uint64_t value) noexcept
104 {
105 return 0;
106 }
107
113 int setDouble ([[maybe_unused]] double value) noexcept
114 {
115 return 0;
116 }
117
123 int setString ([[maybe_unused]] std::string_view value) noexcept
124 {
125 return 0;
126 }
127
133 int startArray ([[maybe_unused]] uint32_t size = 0) noexcept
134 {
135 return 0;
136 }
137
142 int stopArray () noexcept
143 {
144 return 0;
145 }
146
152 int startObject ([[maybe_unused]] uint32_t size = 0) noexcept
153 {
154 return 0;
155 }
156
162 const Object& members (const Object& object) const noexcept
163 {
164 return object;
165 }
166
172 int setKey ([[maybe_unused]] std::nullptr_t key) noexcept
173 {
174 return 0;
175 }
176
182 int setKey ([[maybe_unused]] bool key) noexcept
183 {
184 return 0;
185 }
186
192 int setKey ([[maybe_unused]] int32_t key) noexcept
193 {
194 return 0;
195 }
196
202 int setKey ([[maybe_unused]] uint32_t key) noexcept
203 {
204 return 0;
205 }
206
212 int setKey ([[maybe_unused]] int64_t key) noexcept
213 {
214 return 0;
215 }
216
222 int setKey ([[maybe_unused]] uint64_t key) noexcept
223 {
224 return 0;
225 }
226
232 int setKey ([[maybe_unused]] double key) noexcept
233 {
234 return 0;
235 }
236
242 int setKey ([[maybe_unused]] std::string_view key) noexcept
243 {
244 return 0;
245 }
246
252 int setKey ([[maybe_unused]] const char* key) noexcept
253 {
254 return 0;
255 }
256
261 int stopObject () noexcept
262 {
263 return 0;
264 }
265
269 void reset () noexcept
270 {
271 // do nothing.
272 }
273 };
274}
275
276#endif
const std::string key(65, 'a')
key.
Definition acceptor.hpp:32
constexpr size_t saxMaxDepth
max number of nested containers.
Definition sax.hpp:42
std::vector< Member > Object
object.
Definition value.hpp:86
SAX handler ignoring every event, to derive from and use through the derived type.
Definition sax.hpp:48
int setKey(int64_t key) noexcept
set 64 bits integer key.
Definition sax.hpp:212
int setKey(std::string_view key) noexcept
set string key.
Definition sax.hpp:242
int setString(std::string_view value) noexcept
set string value.
Definition sax.hpp:123
int setKey(uint64_t key) noexcept
set unsigned 64 bits integer key.
Definition sax.hpp:222
int setUint64(uint64_t value) noexcept
set unsigned 64 bits integer value.
Definition sax.hpp:103
int setKey(int32_t key) noexcept
set integer key.
Definition sax.hpp:192
int setKey(const char *key) noexcept
set string key.
Definition sax.hpp:252
int setUint(uint32_t value) noexcept
set unsigned integer value.
Definition sax.hpp:83
int startArray(uint32_t size=0) noexcept
start array.
Definition sax.hpp:133
int setKey(uint32_t key) noexcept
set unsigned integer key.
Definition sax.hpp:202
int setKey(std::nullptr_t key) noexcept
set null key.
Definition sax.hpp:172
int setBool(bool value) noexcept
set boolean value.
Definition sax.hpp:63
int startObject(uint32_t size=0) noexcept
start object.
Definition sax.hpp:152
int setInt(int32_t value) noexcept
set integer value.
Definition sax.hpp:73
int setKey(double key) noexcept
set real key.
Definition sax.hpp:232
int stopObject() noexcept
stop object.
Definition sax.hpp:261
int setNull() noexcept
set null value.
Definition sax.hpp:53
int stopArray() noexcept
stop array.
Definition sax.hpp:142
const Object & members(const Object &object) const noexcept
get object members in writing order.
Definition sax.hpp:162
void reset() noexcept
reset the handler state after a failure.
Definition sax.hpp:269
int setKey(bool key) noexcept
set boolean key.
Definition sax.hpp:182
int setDouble(double value) noexcept
set real value.
Definition sax.hpp:113
int setInt64(int64_t value) noexcept
set 64 bits integer value.
Definition sax.hpp:93