44 void BeginArray(
const char * nodeName =
nullptr);
54 template <
typename T,
size_t N>
void Add(std::array<T, N>
const& values,
const Util::String& name =
"");
64 void AddString(const Util::String & value);
66 void AddBool(bool value);
68 void AddInt(int value);
70 void AddFloat(float value);
72 void AddFloat2(const Math::vec2 & value);
74 void AddVec4(const Math::vec4 & value);
76 void AddMatrix44(const Math::mat4 & value);
78 void AddTransform44(const Math::transform44 & value);
81 void SetString(const Util::String& name, const Util::String& value);
83 void SetBool(const Util::String& name, bool value);
85 void SetInt(const Util::String& name, int value);
87 void SetFloat(const Util::String& name, float value);
89 void SetVec2(const Util::String& name, const Math::vec2& value);
91 void SetVec4(const Util::String& name, const Math::vec4& value);
93 void SetMat4(const Util::String& name, const Math::mat4& value);
95 void SetTransform44(const Util::String& name, const Math::transform44& value);
97 template<typename T> void Set(const Util::String& name, const T &value);
134template<
typename T,
size_t N>
139 for (T
const& value : values)
149template<
unsigned int N>
154 for (
uint i = 0; i < N; i++)
161 this->
Add(tempArr, name);
JsonWriter()
constructor
Definition jsonwriter.cc:26
__DeclareClass(JsonWriter)
virtual bool Open()
begin writing the stream
Definition jsonwriter.cc:47
pjson::document * document
add a value to current object node
Definition jsonwriter.h:102
void BeginObject(const char *nodeName=nullptr)
begin a new node that can host key-value pairs
Definition jsonwriter.cc:100
virtual void Close()
end writing the stream
Definition jsonwriter.cc:66
void Add(const T &value, const Util::String &name="")
add a value to the current array node
virtual ~JsonWriter()
destructor
Definition jsonwriter.cc:35
void End()
end current object or array
Definition jsonwriter.cc:113
Util::Stack< pjson::value_variant * > hierarchy
Definition jsonwriter.h:103
void BeginArray(const char *nodeName=nullptr)
begin a new array node
Definition jsonwriter.cc:87
Util::Stack< Util::String > nameHierarchy
Definition jsonwriter.h:104
Stream writer classes provide a specialized write-interface for a stream.
Definition streamwriter.h:22
Nebula's dynamic array class.
Definition array.h:61
void Append(const TYPE &first, const ELEM_TYPE &... elements)
Append multiple elements to the end of the array.
Definition array.h:1392
Implements large bit field.
Definition bitfield.h:24
constexpr bool IsSet(const uint64_t bitIndex) const
Check if single bit is set.
Definition bitfield.h:186
A four-character-code is a quasi-human-readable 32-bit-id.
Definition fourcc.h:19
Nebula's stack class (a FILO container).
Definition stack.h:19
A StringAtom.
Definition stringatom.h:22
An "any type" variable.
Definition variant.h:32
Instances of wrapped stream classes.
Definition multiplayerfeatureunit.cc:324
Definition jsonreader.h:26
A 4x4 single point precision float matrix.
Definition mat4.h:49
A 2-component float vector class.
Definition vec2.h:21
A 3D vector.
Definition vec3.h:37
A 4D vector.
Definition vec4.h:24
Nebula's universal string class.
Definition String.cs:8
const char * AsCharPtr() const
return contents as character pointer
Definition string.h:572
unsigned int uint
Definition types.h:33