42 void BeginArray(
const char * nodeName =
nullptr);
60 void AddString(const Util::String & value);
62 void AddBool(bool value);
64 void AddInt(int value);
66 void AddFloat(float value);
68 void AddFloat2(const Math::vec2 & value);
70 void AddVec4(const Math::vec4 & value);
72 void AddMatrix44(const Math::mat4 & value);
74 void AddTransform44(const Math::transform44 & value);
77 void SetString(const Util::String& name, const Util::String& value);
79 void SetBool(const Util::String& name, bool value);
81 void SetInt(const Util::String& name, int value);
83 void SetFloat(const Util::String& name, float value);
85 void SetVec2(const Util::String& name, const Math::vec2& value);
87 void SetVec4(const Util::String& name, const Math::vec4& value);
89 void SetMat4(const Util::String& name, const Math::mat4& value);
91 void SetTransform44(const Util::String& name, const Math::transform44& value);
93 template<typename T> void Set(const Util::String& name, const T &value);
125template<
unsigned int N>
130 for (
uint i = 0; i < N; i++)
137 this->
Add(tempArr, name);
Write Json-formatted data to a stream.
Definition jsonwriter.h:29
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:98
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:99
void BeginArray(const char *nodeName=nullptr)
begin a new array node
Definition jsonwriter.cc:87
Util::Stack< Util::String > nameHierarchy
Definition jsonwriter.h:100
Stream writer classes provide a specialized write-interface for a stream.
Definition streamwriter.h:22
Nebula's dynamic array class.
Definition array.h:60
void Append(const TYPE &first, const ELEM_TYPE &... elements)
Append multiple elements to the end of the array.
Definition array.h:1334
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:156
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:31
Instances of wrapped stream classes.
Definition orientation.cc:10
Definition jsonreader.h:24
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:40
A 4D vector.
Definition vec4.h:24
Nebula's universal string class.
Definition string.h:50
unsigned char uchar
Definition types.h:33
unsigned int uint
Definition types.h:31