LoveBrains
1.0.0
|
JSON (JavaScript Object Notation). More...
Classes | |
struct | BuiltStyledStreamWriter |
class | CharReader |
class | CharReaderBuilder |
Build a CharReader implementation. More... | |
struct | CommentStyle |
Scoped enums are not available until C++11. More... | |
class | Exception |
class | FastWriter |
Outputs a Value in JSON format without formatting (not human friendly). More... | |
class | Features |
Configuration passed to reader and writer. This configuration object can be used to force the Reader or Writer to behave in a standard conforming way. More... | |
class | LogicError |
class | OurCharReader |
class | OurFeatures |
class | OurReader |
class | Path |
Experimental and untested: represents a "path" to access a node. More... | |
class | PathArgument |
Experimental and untested: represents an element of the "path" to access a node. More... | |
class | Reader |
Unserialize a JSON document into a Value. More... | |
class | RuntimeError |
class | StaticString |
Lightweight wrapper to tag static string. More... | |
class | StreamWriter |
class | StreamWriterBuilder |
Build a StreamWriter implementation. More... | |
class | StyledStreamWriter |
Writes a Value in JSON format in a human friendly way, to a stream rather than to a string. More... | |
class | StyledWriter |
Writes a Value in JSON format in a human friendly way. More... | |
class | Value |
Represents a JSON value. More... | |
class | ValueConstIterator |
const iterator for object and array value. More... | |
class | ValueIterator |
Iterator for object and array value. More... | |
class | ValueIteratorBase |
base class for Value iterators. More... | |
class | Writer |
Abstract class for writers. More... | |
Typedefs | |
typedef int | Int |
typedef unsigned int | UInt |
typedef long long int | Int64 |
typedef unsigned long long int | UInt64 |
typedef Int64 | LargestInt |
typedef UInt64 | LargestUInt |
typedef unsigned int | ArrayIndex |
typedef char | UIntToStringBuffer[uintToStringBufferSize] |
typedef std::auto_ptr< CharReader > | CharReaderPtr |
typedef std::auto_ptr< StreamWriter > | StreamWriterPtr |
Enumerations | |
enum | ValueType { nullValue = 0, intValue, uintValue, realValue, stringValue, booleanValue, arrayValue, objectValue, nullValue = 0, intValue, uintValue, realValue, stringValue, booleanValue, arrayValue, objectValue } |
Type of the value held by a Value object. More... | |
enum | CommentPlacement { commentBefore = 0, commentAfterOnSameLine, commentAfter, numberOfCommentPlacement, commentBefore = 0, commentAfterOnSameLine, commentAfter, numberOfCommentPlacement } |
enum | ValueType { nullValue = 0, intValue, uintValue, realValue, stringValue, booleanValue, arrayValue, objectValue, nullValue = 0, intValue, uintValue, realValue, stringValue, booleanValue, arrayValue, objectValue } |
Type of the value held by a Value object. More... | |
enum | CommentPlacement { commentBefore = 0, commentAfterOnSameLine, commentAfter, numberOfCommentPlacement, commentBefore = 0, commentAfterOnSameLine, commentAfter, numberOfCommentPlacement } |
enum | { uintToStringBufferSize = 3 * sizeof(LargestUInt) + 1 } |
Functions | |
void | throwRuntimeError (std::string const &msg) |
used internally | |
void | throwLogicError (std::string const &msg) |
used internally | |
bool JSON_API | parseFromStream (CharReader::Factory const &, std::istream &, Value *root, std::string *errs) |
JSON_API std::istream & | operator>> (std::istream &, Value &) |
Read from 'sin' into 'root'. More... | |
std::string JSON_API | writeString (StreamWriter::Factory const &factory, Value const &root) |
Write into stringstream, then return string, for convenience. A StreamWriter will be created from the factory, used, and then deleted. | |
std::string JSON_API | valueToString (Int value) |
std::string JSON_API | valueToString (UInt value) |
std::string JSON_API | valueToString (LargestInt value) |
std::string JSON_API | valueToString (LargestUInt value) |
std::string JSON_API | valueToString (double value) |
std::string JSON_API | valueToString (bool value) |
std::string JSON_API | valueToQuotedString (const char *value) |
JSON_API std::ostream & | operator<< (std::ostream &, const Value &root) |
Output using the StyledStreamWriter. More... | |
std::ostream & | operator<< (std::ostream &sout, Value const &root) |
Variables | |
const unsigned char & | kNullRef = kNull[0] |
JSON (JavaScript Object Notation).
anonymous enum |
enum Json::ValueType |
Type of the value held by a Value object.
enum Json::ValueType |
Type of the value held by a Value object.
JSON_API std::ostream & Json::operator<< | ( | std::ostream & | , |
const Value & | root | ||
) |
Output using the StyledStreamWriter.
std::istream & Json::operator>> | ( | std::istream & | sin, |
Value & | root | ||
) |
Read from 'sin' into 'root'.
Always keep comments from the input JSON.
This can be used to read a file into a particular sub-object. For example:
Result:
{ "dir": { "file": { // The input stream JSON would be nested here. } } }
std::exception | on parse error. |
bool Json::parseFromStream | ( | CharReader::Factory const & | fact, |
std::istream & | sin, | ||
Value * | root, | ||
std::string * | errs | ||
) |
Consume entire stream and use its begin/end. Someday we might have a real StreamReader, but for now this is convenient.