RetroArch
Classes | Namespaces | Typedefs | Functions
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

class  GenericValue< Encoding, Allocator >
 Represents a JSON value. Use Value for UTF8 encoding and default allocator. More...
 
class  GenericDocument< Encoding, Allocator, StackAllocator >
 A document for parsing JSON text as DOM. More...
 
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  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...
 
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

 internal
 

Typedefs

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

Functions

template<typename CharType >
GenericStringRef< CharType > StringRef (const CharType *str)
 Mark a character pointer as constant string. More...
 
template<typename CharType >
GenericStringRef< CharType > StringRef (const CharType *str, size_t length)
 Mark a character pointer as constant string. More...
 

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)
inline

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
Here is the call graph for this function:
Here is the caller graph for this function:

◆ StringRef() [2/2]

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

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