GDevelop Core
Core library for developing platforms and tools compatible with GDevelop.
Classes | 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>

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

Typedefs

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

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

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

◆ 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