Data Structures | Namespaces | Macros | Typedefs | Enumerations | Functions
json.h File Reference
#include <cstring>
#include <memory>
#include <cstddef>
#include <cstdint>
#include <istream>
#include <ostream>
#include <sstream>
#include <string>
#include <type_traits>
#include <array>
#include <exception>
#include <vector>
#include <map>
#include <deque>
#include <iosfwd>
#include <stack>
#include <cstdlib>

Go to the source code of this file.

Data Structures

class  Json::SecureAllocator< T >
 
struct  Json::SecureAllocator< T >::rebind< U >
 
class  Json::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  Json::Exception
 
class  Json::RuntimeError
 
class  Json::LogicError
 
class  Json::StaticString
 Lightweight wrapper to tag static string. More...
 
class  Json::Value
 Represents a JSON value. More...
 
class  Json::PathArgument
 Experimental and untested: represents an element of the "path" to access a node. More...
 
class  Json::Path
 Experimental and untested: represents a "path" to access a node. More...
 
class  Json::ValueIteratorBase
 base class for Value iterators. More...
 
class  Json::ValueConstIterator
 const iterator for object and array value. More...
 
class  Json::ValueIterator
 Iterator for object and array value. More...
 
class  Json::Reader
 Unserialize a JSON document into a Value. More...
 
struct  Json::Reader::StructuredError
 An error tagged with where in the JSON text it was encountered. More...
 
class  Json::CharReader
 
class  Json::CharReader::Factory
 
class  Json::CharReaderBuilder
 Build a CharReader implementation. More...
 
class  Json::StreamWriter
 
class  Json::StreamWriter::Factory
 A simple abstract factory. More...
 
class  Json::StreamWriterBuilder
 Build a StreamWriter implementation. More...
 
class  Json::Writer
 Abstract class for writers. More...
 
class  Json::FastWriter
 Outputs a Value in JSON format without formatting (not human friendly). More...
 
class  Json::StyledWriter
 Writes a Value in JSON format in a human friendly way. More...
 
class  Json::StyledStreamWriter
 Writes a Value in JSON format in a human friendly way, to a stream rather than to a string. More...
 

Namespaces

 Json
 JSON (JavaScript Object Notation).
 

Macros

#define JSON_IS_AMALGAMATION
 
#define JSON_VERSION_H_INCLUDED
 
#define JSONCPP_VERSION_STRING   "1.8.4"
 
#define JSONCPP_VERSION_MAJOR   1
 
#define JSONCPP_VERSION_MINOR   8
 
#define JSONCPP_VERSION_PATCH   4
 
#define JSONCPP_VERSION_QUALIFIER
 
#define JSONCPP_VERSION_HEXA
 
#define JSONCPP_USING_SECURE_MEMORY   0
 
#define CPPTL_JSON_ALLOCATOR_H_INCLUDED
 
#define JSON_CONFIG_H_INCLUDED
 
#define JSON_USE_EXCEPTION   1
 If defined, indicates that json library is embedded in CppTL library. More...
 
#define JSON_API
 
#define jsoncpp_snprintf   std::snprintf
 
#define JSONCPP_OVERRIDE   override
 
#define JSONCPP_NOEXCEPT   throw()
 
#define JSONCPP_OP_EXPLICIT
 
#define JSONCPP_DEPRECATED(message)
 
#define JSON_HAS_INT64
 
#define JSON_FORWARDS_H_INCLUDED
 
#define CPPTL_JSON_FEATURES_H_INCLUDED
 
#define CPPTL_JSON_H_INCLUDED
 
#define JSONCPP_NORETURN
 
#define CPPTL_JSON_READER_H_INCLUDED
 
#define JSON_WRITER_H_INCLUDED
 
#define CPPTL_JSON_ASSERTIONS_H_INCLUDED
 
#define JSON_ASSERT(condition)
 
#define JSON_FAIL_MESSAGE(message)
 
#define JSON_ASSERT_MESSAGE(condition, message)
 

Typedefs

using JSONCPP_STRING = Json::String
 
using JSONCPP_ISTRINGSTREAM = Json::IStringStream
 
using JSONCPP_OSTRINGSTREAM = Json::OStringStream
 
using JSONCPP_ISTREAM = Json::IStream
 
using JSONCPP_OSTREAM = Json::OStream
 

Enumerations

enum  Json::ValueType {
  Json::nullValue = 0, Json::intValue, Json::uintValue, Json::realValue,
  Json::stringValue, Json::booleanValue, Json::arrayValue, Json::objectValue
}
 Type of the value held by a Value object. More...
 
enum  Json::CommentPlacement { Json::commentBefore = 0, Json::commentAfterOnSameLine, Json::commentAfter, Json::numberOfCommentPlacement }
 
enum  Json::PrecisionType { Json::significantDigits = 0, Json::decimalPlaces }
 Type of precision for formatting of real values. More...
 

Functions

template<typename T , typename U >
bool Json::operator== (const SecureAllocator< T > &, const SecureAllocator< U > &)
 
template<typename T , typename U >
bool Json::operator!= (const SecureAllocator< T > &, const SecureAllocator< U > &)
 
void Json::throwRuntimeError (String const &msg)
 used internally More...
 
void Json::throwLogicError (String const &msg)
 used internally More...
 
void Json::swap (Value &a, Value &b)
 
bool Json::parseFromStream (CharReader::Factory const &, IStream &, Value *root, std::string *errs)
 
IStream & Json::operator>> (IStream &, Value &)
 Read from 'sin' into 'root'. More...
 
String Json::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. More...
 
String Json::valueToString (Int value)
 
String Json::valueToString (UInt value)
 
String Json::valueToString (LargestInt value)
 
String Json::valueToString (LargestUInt value)
 
String Json::valueToString (double value, unsigned int precision=Value::defaultRealPrecision, PrecisionType precisionType=PrecisionType::significantDigits)
 
String Json::valueToString (bool value)
 
String Json::valueToQuotedString (const char *value)
 
OStream & Json::operator<< (OStream &, const Value &root)
 Output using the StyledStreamWriter. More...
 

Macro Definition Documentation

#define CPPTL_JSON_ALLOCATOR_H_INCLUDED
#define CPPTL_JSON_ASSERTIONS_H_INCLUDED
#define CPPTL_JSON_FEATURES_H_INCLUDED
#define CPPTL_JSON_H_INCLUDED
#define CPPTL_JSON_READER_H_INCLUDED
#define JSON_API

If defined, indicates that the source file is amalgamated to prevent private header inclusion. Remarks: it is automatically defined in the generated amalgamated header.

#define JSON_ASSERT (   condition)
Value:
{ \
if (!(condition)) { \
Json::throwLogicError("assert json failed"); \
} \
}
void throwLogicError(String const &msg)
used internally
Definition: jsoncpp.cpp:2666

It should not be possible for a maliciously designed file to cause an abort() or seg-fault, so these macros are used only for pre-condition violations and internal logic errors.

#define JSON_ASSERT_MESSAGE (   condition,
  message 
)
Value:
if (!(condition)) { \
JSON_FAIL_MESSAGE(message); \
}
#define JSON_FAIL_MESSAGE(message)
Definition: json.h:2307
#define JSON_CONFIG_H_INCLUDED
#define JSON_FAIL_MESSAGE (   message)
Value:
{ \
oss << message; \
abort(); \
}
std::basic_ostringstream< String::value_type, String::traits_type, String::allocator_type > OStringStream
Definition: json-forwards.h:247
void throwLogicError(String const &msg)
used internally
Definition: jsoncpp.cpp:2666
#define JSON_FORWARDS_H_INCLUDED
#define JSON_HAS_INT64
#define JSON_IS_AMALGAMATION

Json-cpp amalgamated header (http://jsoncpp.sourceforge.net/). It is intended to be used with #include "json/json.h" If defined, indicates that the source file is amalgamated to prevent private header inclusion.

#define JSON_USE_EXCEPTION   1

If defined, indicates that json library is embedded in CppTL library.

If defined, indicates that json may leverage CppTL library If defined, indicates that cpptl vector based map should be used instead of std::map as Value container.

#define JSON_VERSION_H_INCLUDED
#define JSON_WRITER_H_INCLUDED
#define JSONCPP_DEPRECATED (   message)
#define JSONCPP_NOEXCEPT   throw()
#define JSONCPP_NORETURN
#define JSONCPP_OP_EXPLICIT
#define JSONCPP_OVERRIDE   override
#define jsoncpp_snprintf   std::snprintf
#define JSONCPP_USING_SECURE_MEMORY   0
#define JSONCPP_VERSION_HEXA
Value:
#define JSONCPP_VERSION_PATCH
Definition: json.h:93
#define JSONCPP_VERSION_MAJOR
Definition: json.h:91
#define JSONCPP_VERSION_MINOR
Definition: json.h:92
#define JSONCPP_VERSION_MAJOR   1
#define JSONCPP_VERSION_MINOR   8
#define JSONCPP_VERSION_PATCH   4
#define JSONCPP_VERSION_QUALIFIER
#define JSONCPP_VERSION_STRING   "1.8.4"

Typedef Documentation