IOSS  2.0
json.h File Reference
#include <exception>
#include <string>
#include <vector>
#include <map>
#include <deque>
#include <iosfwd>
#include <istream>
#include <stack>
#include <ostream>
#include <sstream>
#include <stdlib.h>

Go to the source code of this file.

Classes

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::StaticString
 Lightweight wrapper to tag static string. More...
 
class  Json::Value
 Represents a JSON value. More...
 
class  Json::Value::CZString
 
struct  Json::Value::CZString::StringStorage
 
struct  Json::Value::CommentInfo
 
union  Json::Value::ValueHolder
 
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::Reader::Token
 
class  Json::Reader::ErrorInfo
 
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).
 
 std
 

Macros

#define JSON_IS_AMALGAMATION
 
#define JSON_VERSION_H_INCLUDED
 
#define JSONCPP_VERSION_STRING   "1.6.2"
 
#define JSONCPP_VERSION_MAJOR   1
 
#define JSONCPP_VERSION_MINOR   6
 
#define JSONCPP_VERSION_PATCH   2
 
#define JSONCPP_VERSION_QUALIFIER
 
#define JSONCPP_VERSION_HEXA   ((JSONCPP_VERSION_MAJOR << 24) | (JSONCPP_VERSION_MINOR << 16) | (JSONCPP_VERSION_PATCH << 8))
 
#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_DEPRECATED(message)
 
#define JSON_HAS_INT64
 
#define JSON_FORWARDS_H_INCLUDED
 
#define CPPTL_JSON_FEATURES_H_INCLUDED
 
#define CPPTL_JSON_H_INCLUDED
 
#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

typedef int Json::Int
 
typedef unsigned int Json::UInt
 
typedef long long int Json::Int64
 
typedef unsigned long long int Json::UInt64
 
typedef Int64 Json::LargestInt
 
typedef UInt64 Json::LargestUInt
 
typedef unsigned int Json::ArrayIndex
 

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 }
 

Functions

void Json::throwRuntimeError (std::string const &msg)
 used internally More...
 
void Json::throwLogicError (std::string const &msg)
 used internally More...
 
template<>
void std::swap (Json::Value &a, Json::Value &b)
 Specialize std::swap() for Json::Value. More...
 
bool JSON_API Json::parseFromStream (CharReader::Factory const &, std::istream &, Value *root, std::string *errs)
 
JSON_API std::istream & Json::operator>> (std::istream &, Value &)
 Read from 'sin' into 'root'. More...
 
std::string JSON_API 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...
 
std::string JSON_API Json::valueToString (Int value)
 
std::string JSON_API Json::valueToString (UInt value)
 
std::string JSON_API Json::valueToString (LargestInt value)
 
std::string JSON_API Json::valueToString (LargestUInt value)
 
std::string JSON_API Json::valueToString (double value)
 
std::string JSON_API Json::valueToString (bool value)
 
std::string JSON_API Json::valueToQuotedString (const char *value)
 
JSON_API std::ostream & Json::operator<< (std::ostream &, const Value &root)
 Output using the StyledStreamWriter. More...
 

Variables

class JSON_API Json::Exception
 
class JSON_API Json::RuntimeError
 
class JSON_API Json::LogicError
 

Macro Definition Documentation

◆ CPPTL_JSON_ASSERTIONS_H_INCLUDED

#define CPPTL_JSON_ASSERTIONS_H_INCLUDED

◆ CPPTL_JSON_FEATURES_H_INCLUDED

#define CPPTL_JSON_FEATURES_H_INCLUDED

◆ CPPTL_JSON_H_INCLUDED

#define CPPTL_JSON_H_INCLUDED

◆ CPPTL_JSON_READER_H_INCLUDED

#define CPPTL_JSON_READER_H_INCLUDED

◆ JSON_API

#define JSON_API

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

◆ JSON_ASSERT

#define JSON_ASSERT (   condition)
Value:
{ \
if (!(condition)) { \
Json::throwLogicError("assert json failed"); \
} \
}
void throwLogicError(std::string const &msg)
used internally

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.

◆ JSON_ASSERT_MESSAGE

#define JSON_ASSERT_MESSAGE (   condition,
  message 
)
Value:
if (!(condition)) { \
JSON_FAIL_MESSAGE(message); \
}

◆ JSON_CONFIG_H_INCLUDED

#define JSON_CONFIG_H_INCLUDED

◆ JSON_FAIL_MESSAGE

#define JSON_FAIL_MESSAGE (   message)
Value:
{ \
std::ostringstream oss; \
oss << message; \
abort(); \
}
void throwLogicError(std::string const &msg)
used internally

◆ JSON_FORWARDS_H_INCLUDED

#define JSON_FORWARDS_H_INCLUDED

◆ JSON_HAS_INT64

#define JSON_HAS_INT64

◆ JSON_IS_AMALGAMATION

#define JSON_IS_AMALGAMATION

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

◆ JSON_USE_EXCEPTION

#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.

◆ JSON_VERSION_H_INCLUDED

#define JSON_VERSION_H_INCLUDED

◆ JSON_WRITER_H_INCLUDED

#define JSON_WRITER_H_INCLUDED

◆ JSONCPP_DEPRECATED

#define JSONCPP_DEPRECATED (   message)

◆ JSONCPP_VERSION_HEXA

#define JSONCPP_VERSION_HEXA   ((JSONCPP_VERSION_MAJOR << 24) | (JSONCPP_VERSION_MINOR << 16) | (JSONCPP_VERSION_PATCH << 8))

◆ JSONCPP_VERSION_MAJOR

#define JSONCPP_VERSION_MAJOR   1

◆ JSONCPP_VERSION_MINOR

#define JSONCPP_VERSION_MINOR   6

◆ JSONCPP_VERSION_PATCH

#define JSONCPP_VERSION_PATCH   2

◆ JSONCPP_VERSION_QUALIFIER

#define JSONCPP_VERSION_QUALIFIER

◆ JSONCPP_VERSION_STRING

#define JSONCPP_VERSION_STRING   "1.6.2"