12 #ifndef __UT_JSONARCHIVE_H_INCLUDED__
13 #define __UT_JSONARCHIVE_H_INCLUDED__
50 : myOut(
UT_JSONWriter::allocWriter(os.getOStream(), os.isBinary()))
56 return myOut->jsonBeginMap();
60 return myOut->jsonEndMap();
64 return myOut->jsonKeyToken(key);
70 return myOut->jsonValue(val);
74 return myOut->jsonStringToken(str);
83 return myOut->jsonEndArray();
90 return myOut->jsonUniformArray(count, vec);
102 myParser = &myAutoParser.get()->parser();
112 return !myTraverser.
atEnd();
117 return myTraverser.
atEnd();
124 template <
typename T>
146 template <
typename T>
160 template <
typename OBJ_T>
167 #endif // __UT_JSONARCHIVE_H_INCLUDED__
bool parseString(UT_WorkBuffer &v)
bool serializeStringValue(const char *str)
bool serializeValue(const T &val)
UT_SaveArchiverManip< OBJ_T, UT_JSONArchiver > Output
JSON reader class which handles parsing of JSON or bJSON files.
Class which writes ASCII or binary JSON streams.
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
Base class for archivers.
Traverse an array object in the parser.
Main class for starting serialization.
UT_LoadArchiverManip< OBJ_T, UT_JSONArchiver > Input
bool serializeArrayBegin(int64 count)
int64 parseUniformArray(T *data, int64 len)
bool parseValue(UT_WorkBuffer &v)
bool parseEndArray(bool &error)
bool serializeUniformArray(T *vec, int64 count)
bool serializeKey(const char *key)
bool parseBeginArray(bool &error)
Manipulators for streaming archivers.
bool getLowerKey(T &key)
Get a lower case map key (for case insensitive maps)