Monero
Loading...
Searching...
No Matches
document.h File Reference
#include "reader.h"
#include "internal/meta.h"
#include "internal/strfunc.h"
#include "memorystream.h"
#include "encodedstream.h"
#include <new>
#include <limits>
#include <iterator>
Include dependency graph for document.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  GenericMember< Encoding, Allocator >
 Name-value pair in a JSON object value. More...
class  GenericMemberIterator< Const, Encoding, Allocator >
 (Constant) member iterator for a JSON object value More...
struct  GenericStringRef< CharType >
 Reference to a constant string (not taking a copy). More...
struct  internal::IsGenericValueImpl< T, Encoding, Allocator >
struct  internal::IsGenericValueImpl< T, typename Void< typename T::EncodingType >::Type, typename Void< typename T::AllocatorType >::Type >
struct  internal::IsGenericValue< T >
struct  internal::TypeHelper< ValueType, T >
struct  internal::TypeHelper< ValueType, bool >
struct  internal::TypeHelper< ValueType, int >
struct  internal::TypeHelper< ValueType, unsigned >
struct  internal::TypeHelper< ValueType, int64_t >
struct  internal::TypeHelper< ValueType, uint64_t >
struct  internal::TypeHelper< ValueType, double >
struct  internal::TypeHelper< ValueType, float >
struct  internal::TypeHelper< ValueType, const typename ValueType::Ch * >
struct  internal::TypeHelper< ValueType, typename ValueType::Array >
struct  internal::TypeHelper< ValueType, typename ValueType::ConstArray >
struct  internal::TypeHelper< ValueType, typename ValueType::Object >
struct  internal::TypeHelper< ValueType, typename ValueType::ConstObject >
class  GenericValue< Encoding, Allocator >
 Represents a JSON value. Use Value for UTF8 encoding and default allocator. More...
struct  GenericValue< Encoding, Allocator >::Flag
struct  GenericValue< Encoding, Allocator >::String
struct  GenericValue< Encoding, Allocator >::ShortString
union  GenericValue< Encoding, Allocator >::Number
struct  GenericValue< Encoding, Allocator >::Number::I
struct  GenericValue< Encoding, Allocator >::Number::U
struct  GenericValue< Encoding, Allocator >::ObjectData
struct  GenericValue< Encoding, Allocator >::ArrayData
union  GenericValue< Encoding, Allocator >::Data
class  GenericDocument< Encoding, Allocator, StackAllocator >
 A document for parsing JSON text as DOM. More...
struct  GenericDocument< Encoding, Allocator, StackAllocator >::ClearStackOnExit
class  GenericArray< Const, ValueT >
 Helper class for accessing Value of array type. More...
class  GenericObject< Const, ValueT >
 Helper class for accessing Value of object type. More...

Namespaces

namespace  internal

Typedefs

typedef GenericValue< UTF8<> > Value
 GenericValue with UTF8 encoding.
typedef GenericDocument< UTF8<> > Document
 GenericDocument with UTF8 encoding.

Variables

template<typename CharType>
const CharType GenericStringRef< CharType >::emptyString [] = { CharType() }

Typedef Documentation

◆ Document

GenericDocument with UTF8 encoding.

◆ Value

typedef GenericValue<UTF8<> > Value

GenericValue with UTF8 encoding.

Function Documentation

◆ StringRef() [1/2]

template<typename CharType>
GenericStringRef< CharType > StringRef ( const CharType * str)
related

Mark a character pointer as constant string.

Mark a plain character pointer as a "string literal". This function can be used to avoid copying a character string to be referenced as a value in a JSON GenericValue object, if the string's lifetime is known to be valid long enough.

Template Parameters
CharTypeCharacter type of the string
Parameters
strConstant string, lifetime assumed to be longer than the use of the string in e.g. a GenericValue
Returns
GenericStringRef string reference object
See also
GenericValue::GenericValue(StringRefType), GenericValue::operator=(StringRefType), GenericValue::SetString(StringRefType), GenericValue::PushBack(StringRefType, Allocator&), GenericValue::AddMember

◆ StringRef() [2/2]

template<typename CharType>
GenericStringRef< CharType > StringRef ( const CharType * str,
size_t length )
related

Mark a character pointer as constant string.

Mark a plain character pointer as a "string literal". This function can be used to avoid copying a character string to be referenced as a value in a JSON GenericValue object, if the string's lifetime is known to be valid long enough.

This version has better performance with supplied length, and also supports string containing null characters.

Template Parameters
CharTypecharacter type of the string
Parameters
strConstant string, lifetime assumed to be longer than the use of the string in e.g. a GenericValue
lengthThe length of source string.
Returns
GenericStringRef string reference object

Variable Documentation

◆ GenericStringRef< CharType >::emptyString

template<typename CharType>
const CharType GenericStringRef< CharType >::emptyString[] = { CharType() }