AWS SDK for C++  0.14.3
AWS SDK for C++
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
json.h File Reference
#include <aws/core/utils/memory/stl/AWSDeque.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/core/utils/memory/stl/AWSStack.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <map>
#include <stdlib.h>
#include <sstream>
#include <stdexcept>

Go to the source code of this file.

Classes

class  Aws::External::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  Aws::External::Json::StaticString
 Lightweight wrapper to tag static string. More...
 
class  Aws::External::Json::Value
 Represents a JSON value. More...
 
class  Aws::External::Json::PathArgument
 Experimental and untested: represents an element of the "path" to access a node. More...
 
class  Aws::External::Json::Path
 Experimental and untested: represents a "path" to access a node. More...
 
class  Aws::External::Json::ValueIteratorBase
 base class for Value iterators. More...
 
class  Aws::External::Json::ValueConstIterator
 const iterator for object and array value. More...
 
class  Aws::External::Json::ValueIterator
 Iterator for object and array value. More...
 
class  Aws::External::Json::Reader
 Unserialize a JSON document into a Value. More...
 
struct  Aws::External::Json::Reader::StructuredError
 An error tagged with where in the JSON text it was encountered. More...
 
class  Aws::External::Json::StreamWriter
 
class  Aws::External::Json::StreamWriter::Factory
 A simple abstract factory. More...
 
class  Aws::External::Json::StreamWriterBuilder
 Build a StreamWriter implementation. More...
 
class  Aws::External::Json::OldCompressingStreamWriterBuilder
 Build a StreamWriter implementation. Comments are not written, and most whitespace is omitted. In addition, there are some special settings to allow compatibility with the old FastWriter. Usage: More...
 
class  Aws::External::Json::Writer
 Abstract class for writers. More...
 
class  Aws::External::Json::FastWriter
 Outputs a Value in JSON format without formatting (not human friendly). More...
 
class  Aws::External::Json::StyledWriter
 Writes a Value in JSON format in a human friendly way. More...
 
class  Aws::External::Json::StyledStreamWriter
 Writes a Value in JSON format in a human friendly way, to a stream rather than to a string. More...
 

Namespaces

 Aws
 JSON (JavaScript Object Notation).
 
 Aws::External
 
 Aws::External::Json
 

Macros

#define AWS_JSON_IS_AMALGAMATION
 
#define AWS_JSON_VERSION_H_INCLUDED
 
#define AWS_JSONCPP_VERSION_STRING   "1.4.0"
 
#define AWS_JSONCPP_VERSION_MAJOR   1
 
#define AWS_JSONCPP_VERSION_MINOR   4
 
#define AWS_JSONCPP_VERSION_PATCH   0
 
#define AWS_JSONCPP_VERSION_QUALIFIER
 
#define AWS_JSONCPP_VERSION_HEXA   ((JSONCPP_VERSION_MAJOR << 24) | (JSONCPP_VERSION_MINOR << 16) | (JSONCPP_VERSION_PATCH << 8))
 
#define AWS_JSON_CONFIG_H_INCLUDED
 
#define JSON_USE_EXCEPTION   1
 If defined, indicates that json library is embedded in CppTL library. More...
 
#define AWS_JSON_API
 
#define AWS_JSONCPP_DEPRECATED(message)
 
#define AWS_JSON_HAS_INT64
 
#define AWS_JSON_FORWARDS_H_INCLUDED
 
#define AWS_CPPTL_JSON_FEATURES_H_INCLUDED
 
#define AWS_CPPTL_JSON_H_INCLUDED
 
#define AWS_CPPTL_JSON_READER_H_INCLUDED
 
#define AWS_JSON_WRITER_H_INCLUDED
 
#define AWS_CPPTL_JSON_ASSERTIONS_H_INCLUDED
 
#define AWS_JSON_ASSERT(condition)   assert(condition);
 
#define AWS_JSON_FAIL_MESSAGE(message)   do{Aws::OStringStream oss; oss << message; throw std::runtime_error(oss.str());}while(0)
 
#define AWS_JSON_ASSERT_MESSAGE(condition, message)
 

Typedefs

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

Enumerations

enum  Aws::External::Json::ValueType {
  Aws::External::Json::nullValue = 0, Aws::External::Json::intValue, Aws::External::Json::uintValue, Aws::External::Json::realValue,
  Aws::External::Json::stringValue, Aws::External::Json::booleanValue, Aws::External::Json::arrayValue, Aws::External::Json::objectValue
}
 Type of the value held by a Value object. More...
 
enum  Aws::External::Json::CommentPlacement { Aws::External::Json::commentBefore = 0, Aws::External::Json::commentAfterOnSameLine, Aws::External::Json::commentAfter, Aws::External::Json::numberOfCommentPlacement }
 

Functions

template<>
void std::swap (Aws::External::Json::Value &a, Aws::External::Json::Value &b)
 Specialize std::swap() for Json::Value. More...
 
AWS_JSON_API Aws::IStreamAws::External::Json::operator>> (Aws::IStream &, Value &)
 Read from 'sin' into 'root'. More...
 
Aws::String Aws::External::Json::writeString (Value const &root, StreamWriter::Factory const &factory)
 Write into stringstream, then return string, for convenience. More...
 
Aws::String AWS_JSON_API Aws::External::Json::valueToString (Int value)
 
Aws::String AWS_JSON_API Aws::External::Json::valueToString (UInt value)
 
Aws::String AWS_JSON_API Aws::External::Json::valueToString (LargestInt value)
 
Aws::String AWS_JSON_API Aws::External::Json::valueToString (LargestUInt value)
 
Aws::String AWS_JSON_API Aws::External::Json::valueToString (double value)
 
Aws::String AWS_JSON_API Aws::External::Json::valueToString (bool value)
 
Aws::String AWS_JSON_API Aws::External::Json::valueToQuotedString (const char *value)
 
AWS_JSON_API Aws::OStreamAws::External::Json::operator<< (Aws::OStream &, const Value &root)
 Output using the StyledStreamWriter. More...
 

Macro Definition Documentation

#define AWS_CPPTL_JSON_ASSERTIONS_H_INCLUDED

Definition at line 2183 of file json.h.

#define AWS_CPPTL_JSON_FEATURES_H_INCLUDED

Definition at line 320 of file json.h.

#define AWS_CPPTL_JSON_H_INCLUDED

Definition at line 395 of file json.h.

#define AWS_CPPTL_JSON_READER_H_INCLUDED

Definition at line 1531 of file json.h.

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

Definition at line 182 of file json.h.

#define AWS_JSON_ASSERT (   condition)    assert(condition);

Definition at line 2194 of file json.h.

#define AWS_JSON_ASSERT_MESSAGE (   condition,
  message 
)
Value:
if (!(condition)) { \
}
#define AWS_JSON_FAIL_MESSAGE(message)
Definition: json.h:2196

Definition at line 2214 of file json.h.

#define AWS_JSON_CONFIG_H_INCLUDED

Definition at line 127 of file json.h.

#define AWS_JSON_FAIL_MESSAGE (   message)    do{Aws::OStringStream oss; oss << message; throw std::runtime_error(oss.str());}while(0)

Definition at line 2196 of file json.h.

#define AWS_JSON_FORWARDS_H_INCLUDED

Definition at line 259 of file json.h.

#define AWS_JSON_HAS_INT64

Definition at line 232 of file json.h.

#define AWS_JSON_IS_AMALGAMATION

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

Definition at line 87 of file json.h.

#define AWS_JSON_VERSION_H_INCLUDED

Definition at line 97 of file json.h.

#define AWS_JSON_WRITER_H_INCLUDED

Definition at line 1820 of file json.h.

#define AWS_JSONCPP_DEPRECATED (   message)

Definition at line 209 of file json.h.

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

Definition at line 104 of file json.h.

#define AWS_JSONCPP_VERSION_MAJOR   1

Definition at line 100 of file json.h.

#define AWS_JSONCPP_VERSION_MINOR   4

Definition at line 101 of file json.h.

#define AWS_JSONCPP_VERSION_PATCH   0

Definition at line 102 of file json.h.

#define AWS_JSONCPP_VERSION_QUALIFIER

Definition at line 103 of file json.h.

#define AWS_JSONCPP_VERSION_STRING   "1.4.0"

Definition at line 99 of file json.h.

#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 Aws::Map as Value container. If defined, indicates that Json specific container should be used (hash table & simple deque container with customizable allocator). THIS FEATURE IS STILL EXPERIMENTAL! There is know bugs: See #3177332 Force usage of standard new/malloc based allocator instead of memory pool based allocator. The memory pools allocator used optimization (initializing Value and ValueInternalLink as if it was a POD) that may cause some validation tool to report errors. Only has effects if AWS_JSON_VALUE_USE_INTERNAL_MAP is defined.

Definition at line 153 of file json.h.

Function Documentation

template<>
void std::swap ( Aws::External::Json::Value a,
Aws::External::Json::Value b 
)
inline

Specialize std::swap() for Json::Value.

Definition at line 1502 of file json.h.