CppSerialization 1.0.5.0
C++ Serialization Library
Loading...
Searching...
No Matches
serializer.inl
Go to the documentation of this file.
1
9namespace CppSerialization {
10namespace JSON {
11
12template <class OutputStream>
14{
15 if (!Writer<OutputStream>::StartObject())
16 throwex SerializationException("Cannot start to serialize JSON object!");
17}
18
19template <class OutputStream>
21{
22 if (!Writer<OutputStream>::EndObject())
23 throwex SerializationException("Cannot end to serialize JSON object!");
24}
25
26template <class OutputStream>
28{
29 if (!Writer<OutputStream>::StartArray())
30 throwex SerializationException("Cannot start to serialize JSON array!");
31}
32
33template <class OutputStream>
35{
36 if (!Writer<OutputStream>::EndArray())
37 throwex SerializationException("Cannot end to serialize JSON array!");
38}
39
40template <class OutputStream>
41inline void Serializer<OutputStream>::Key(const char* key)
42{
43 if (!Writer<OutputStream>::Key(key))
44 throwex SerializationException("Cannot serialize JSON key!");
45}
46
47template <class OutputStream>
48inline void Serializer<OutputStream>::Key(const char* key, size_t size)
49{
50 if (!Writer<OutputStream>::Key(key, size))
51 throwex SerializationException("Cannot serialize JSON key!");
52}
53
54template <class OutputStream>
55inline void Serializer<OutputStream>::Key(const std::string& key)
56{
57 if (!Writer<OutputStream>::Key(key))
58 throwex SerializationException("Cannot serialize JSON key!");
59}
60
61template <class OutputStream>
62template <std::size_t N>
63inline void Serializer<OutputStream>::Key(const char (&key)[N])
64{
65 if (!Writer<OutputStream>::Key(key, N))
66 throwex SerializationException("Cannot serialize JSON key!");
67}
68
69template <class OutputStream>
70inline void Serializer<OutputStream>::Value(std::nullptr_t value)
71{
72 if (!Writer<OutputStream>::Null())
73 throwex SerializationException("Cannot serialize JSON null value!");
74}
75
76template <class OutputStream>
77inline void Serializer<OutputStream>::Value(bool value)
78{
79 if (!Writer<OutputStream>::Bool(value))
80 throwex SerializationException("Cannot serialize JSON bool value!");
81}
82
83template <class OutputStream>
84inline void Serializer<OutputStream>::Value(int value)
85{
86 if (!Writer<OutputStream>::Int(value))
87 throwex SerializationException("Cannot serialize JSON integer value!");
88}
89
90template <class OutputStream>
91inline void Serializer<OutputStream>::Value(unsigned value)
92{
93 if (!Writer<OutputStream>::UInt(value))
94 throwex SerializationException("Cannot serialize JSON unsigned value!");
95}
96
97template <class OutputStream>
98inline void Serializer<OutputStream>::Value(int64_t value)
99{
100 if (!Writer<OutputStream>::Int64(value))
101 throwex SerializationException("Cannot serialize JSON 64-bit integer value!");
102}
103
104template <class OutputStream>
105inline void Serializer<OutputStream>::Value(uint64_t value)
106{
107 if (!Writer<OutputStream>::UInt64(value))
108 throwex SerializationException("Cannot serialize JSON 64-bit unsigned value!");
109}
110
111template <class OutputStream>
112inline void Serializer<OutputStream>::Value(double value)
113{
114 if (!Writer<OutputStream>::Double(value))
115 throwex SerializationException("Cannot serialize JSON double value!");
116}
117
118template <class OutputStream>
119inline void Serializer<OutputStream>::Value(const char* value)
120{
121 if (!Writer<OutputStream>::String(value))
122 throwex SerializationException("Cannot serialize JSON C-string value!");
123}
124
125template <class OutputStream>
126inline void Serializer<OutputStream>::Value(const char* value, size_t size)
127{
128 if (!Writer<OutputStream>::String(value, size))
129 throwex SerializationException("Cannot serialize JSON C-string value with a given size!");
130}
131
132template <class OutputStream>
133inline void Serializer<OutputStream>::Value(const std::string& value)
134{
135 if (!Writer<OutputStream>::String(value))
136 throwex SerializationException("Cannot serialize JSON string value!");
137}
138
139template <class OutputStream>
140template <std::size_t N>
141inline void Serializer<OutputStream>::Value(const char (&value)[N])
142{
143 if (!Writer<OutputStream>::String(value, N))
144 throwex SerializationException("Cannot serialize JSON string array value!");
145}
146
147} // namespace JSON
148} // namespace CppSerialization
void StartArray()
Start new array.
void EndObject()
End the current object.
void StartObject()
Start new object.
void Key(const char *key)
Put the C-string key.
void EndArray()
End the current array.
void Value(std::nullptr_t value)
Put the null value.
C++ Serialization project definitions.
Definition exceptions.h:14