NGL  6.5
The NCCA Graphics Library
pointer.h File Reference
#include "document.h"
#include "internal/itoa.h"
+ Include dependency graph for pointer.h:

Go to the source code of this file.

Classes

class  GenericPointer< ValueType, Allocator >
 Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator. More...
 
struct  GenericPointer< ValueType, Allocator >::Token
 A token is the basic units of internal representation. More...
 
class  GenericPointer< ValueType, Allocator >::PercentDecodeStream
 A helper stream for decoding a percent-encoded sequence into code unit. More...
 
class  GenericPointer< ValueType, Allocator >::PercentEncodeStream< OutputStream >
 A helper stream to encode character (UTF-8 code unit) into percent-encoded sequence. More...
 

Typedefs

typedef GenericPointer< ValuePointer
 GenericPointer for Value (UTF-8, default allocator). More...
 

Enumerations

enum  PointerParseErrorCode {
  kPointerParseErrorNone = 0, kPointerParseErrorTokenMustBeginWithSolidus, kPointerParseErrorInvalidEscape, kPointerParseErrorInvalidPercentEncoding,
  kPointerParseErrorCharacterMustPercentEncode
}
 Error code of parsing. More...
 

Variables

static RAPIDJSON_NAMESPACE_BEGIN const SizeType kPointerInvalidIndex = ~SizeType(0)
 Represents an invalid index in GenericPointer::Token. More...
 

Helper functions for GenericPointer

const GenericPointer< typename T::ValueType > & pointer
 
const GenericPointer< typename T::ValueType > T2 defaultValue
 
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
 
const CharType(& source )[N]
 
const GenericPointer< typename T::ValueType > T2 value
 
template<typename T >
T::ValueType & CreateValueByPointer (T &root, const GenericPointer< typename T::ValueType > &pointer, typename T::AllocatorType &a)
 
template<typename T , typename CharType , size_t N>
T::ValueType & CreateValueByPointer (T &root, const CharType(&source)[N], typename T::AllocatorType &a)
 
template<typename DocumentType >
DocumentType::ValueType & CreateValueByPointer (DocumentType &document, const GenericPointer< typename DocumentType::ValueType > &pointer)
 
template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType & CreateValueByPointer (DocumentType &document, const CharType(&source)[N])
 
template<typename T >
T::ValueType * GetValueByPointer (T &root, const GenericPointer< typename T::ValueType > &pointer)
 
template<typename T >
const T::ValueType * GetValueByPointer (const T &root, const GenericPointer< typename T::ValueType > &pointer)
 
template<typename T , typename CharType , size_t N>
T::ValueType * GetValueByPointer (T &root, const CharType(&source)[N])
 
template<typename T , typename CharType , size_t N>
const T::ValueType * GetValueByPointer (const T &root, const CharType(&source)[N])
 
template<typename T >
T::ValueType & GetValueByPointerWithDefault (T &root, const GenericPointer< typename T::ValueType > &pointer, const typename T::ValueType &defaultValue, typename T::AllocatorType &a)
 
template<typename T >
T::ValueType & GetValueByPointerWithDefault (T &root, const GenericPointer< typename T::ValueType > &pointer, const typename T::Ch *defaultValue, typename T::AllocatorType &a)
 
template<typename T , typename T2 >
 RAPIDJSON_DISABLEIF_RETURN ((internal::OrExpr< internal::IsPointer< T2 >, internal::IsGenericValue< T2 > >),(typename T::ValueType &)) GetValueByPointerWithDefault(T &root
 
template<typename T , typename CharType , size_t N>
T::ValueType & GetValueByPointerWithDefault (T &root, const CharType(&source)[N], const typename T::ValueType &defaultValue, typename T::AllocatorType &a)
 
template<typename T , typename CharType , size_t N>
T::ValueType & GetValueByPointerWithDefault (T &root, const CharType(&source)[N], const typename T::Ch *defaultValue, typename T::AllocatorType &a)
 
template<typename T , typename CharType , size_t N, typename T2 >
 RAPIDJSON_DISABLEIF_RETURN ((internal::OrExpr< internal::IsPointer< T2 >, internal::IsGenericValue< T2 > >),(typename T::ValueType &)) GetValueByPointerWithDefault(T &root
 
template<typename DocumentType >
DocumentType::ValueType & GetValueByPointerWithDefault (DocumentType &document, const GenericPointer< typename DocumentType::ValueType > &pointer, const typename DocumentType::ValueType &defaultValue)
 
template<typename DocumentType >
DocumentType::ValueType & GetValueByPointerWithDefault (DocumentType &document, const GenericPointer< typename DocumentType::ValueType > &pointer, const typename DocumentType::Ch *defaultValue)
 
template<typename DocumentType , typename T2 >
 RAPIDJSON_DISABLEIF_RETURN ((internal::OrExpr< internal::IsPointer< T2 >, internal::IsGenericValue< T2 > >),(typename DocumentType::ValueType &)) GetValueByPointerWithDefault(DocumentType &document
 
template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType & GetValueByPointerWithDefault (DocumentType &document, const CharType(&source)[N], const typename DocumentType::ValueType &defaultValue)
 
template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType & GetValueByPointerWithDefault (DocumentType &document, const CharType(&source)[N], const typename DocumentType::Ch *defaultValue)
 
template<typename DocumentType , typename CharType , size_t N, typename T2 >
 RAPIDJSON_DISABLEIF_RETURN ((internal::OrExpr< internal::IsPointer< T2 >, internal::IsGenericValue< T2 > >),(typename DocumentType::ValueType &)) GetValueByPointerWithDefault(DocumentType &document
 
template<typename T >
T::ValueType & SetValueByPointer (T &root, const GenericPointer< typename T::ValueType > &pointer, typename T::ValueType &value, typename T::AllocatorType &a)
 
template<typename T >
T::ValueType & SetValueByPointer (T &root, const GenericPointer< typename T::ValueType > &pointer, const typename T::ValueType &value, typename T::AllocatorType &a)
 
template<typename T >
T::ValueType & SetValueByPointer (T &root, const GenericPointer< typename T::ValueType > &pointer, const typename T::Ch *value, typename T::AllocatorType &a)
 
template<typename T , typename CharType , size_t N>
T::ValueType & SetValueByPointer (T &root, const CharType(&source)[N], typename T::ValueType &value, typename T::AllocatorType &a)
 
template<typename T , typename CharType , size_t N>
T::ValueType & SetValueByPointer (T &root, const CharType(&source)[N], const typename T::ValueType &value, typename T::AllocatorType &a)
 
template<typename T , typename CharType , size_t N>
T::ValueType & SetValueByPointer (T &root, const CharType(&source)[N], const typename T::Ch *value, typename T::AllocatorType &a)
 
template<typename DocumentType >
DocumentType::ValueType & SetValueByPointer (DocumentType &document, const GenericPointer< typename DocumentType::ValueType > &pointer, typename DocumentType::ValueType &value)
 
template<typename DocumentType >
DocumentType::ValueType & SetValueByPointer (DocumentType &document, const GenericPointer< typename DocumentType::ValueType > &pointer, const typename DocumentType::ValueType &value)
 
template<typename DocumentType >
DocumentType::ValueType & SetValueByPointer (DocumentType &document, const GenericPointer< typename DocumentType::ValueType > &pointer, const typename DocumentType::Ch *value)
 
template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType & SetValueByPointer (DocumentType &document, const CharType(&source)[N], typename DocumentType::ValueType &value)
 
template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType & SetValueByPointer (DocumentType &document, const CharType(&source)[N], const typename DocumentType::ValueType &value)
 
template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType & SetValueByPointer (DocumentType &document, const CharType(&source)[N], const typename DocumentType::Ch *value)
 
template<typename T >
T::ValueType & SwapValueByPointer (T &root, const GenericPointer< typename T::ValueType > &pointer, typename T::ValueType &value, typename T::AllocatorType &a)
 
template<typename T , typename CharType , size_t N>
T::ValueType & SwapValueByPointer (T &root, const CharType(&source)[N], typename T::ValueType &value, typename T::AllocatorType &a)
 
template<typename DocumentType >
DocumentType::ValueType & SwapValueByPointer (DocumentType &document, const GenericPointer< typename DocumentType::ValueType > &pointer, typename DocumentType::ValueType &value)
 
template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType & SwapValueByPointer (DocumentType &document, const CharType(&source)[N], typename DocumentType::ValueType &value)
 
template<typename T >
bool EraseValueByPointer (T &root, const GenericPointer< typename T::ValueType > &pointer)
 
template<typename T , typename CharType , size_t N>
bool EraseValueByPointer (T &root, const CharType(&source)[N])
 

Typedef Documentation

GenericPointer for Value (UTF-8, default allocator).

Definition at line 1012 of file pointer.h.

Function Documentation

template<typename T >
T::ValueType& CreateValueByPointer ( T &  root,
const GenericPointer< typename T::ValueType > &  pointer,
typename T::AllocatorType &  a 
)

Definition at line 1020 of file pointer.h.

template<typename T , typename CharType , size_t N>
T::ValueType& CreateValueByPointer ( T &  root,
const CharType(&)  source[N],
typename T::AllocatorType &  a 
)

Definition at line 1025 of file pointer.h.

References source.

template<typename DocumentType >
DocumentType::ValueType& CreateValueByPointer ( DocumentType &  document,
const GenericPointer< typename DocumentType::ValueType > &  pointer 
)

Definition at line 1032 of file pointer.h.

template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType& CreateValueByPointer ( DocumentType &  document,
const CharType(&)  source[N] 
)

Definition at line 1037 of file pointer.h.

References source.

template<typename T >
bool EraseValueByPointer ( T &  root,
const GenericPointer< typename T::ValueType > &  pointer 
)

Definition at line 1300 of file pointer.h.

References GenericPointer< ValueType, Allocator >::Erase().

+ Here is the call graph for this function:

template<typename T , typename CharType , size_t N>
bool EraseValueByPointer ( T &  root,
const CharType(&)  source[N] 
)

Definition at line 1305 of file pointer.h.

References GenericPointer< ValueType, Allocator >::Erase(), RAPIDJSON_NAMESPACE_END, and source.

+ Here is the call graph for this function:

template<typename T >
T::ValueType* GetValueByPointer ( T &  root,
const GenericPointer< typename T::ValueType > &  pointer 
)

Definition at line 1044 of file pointer.h.

template<typename T >
const T::ValueType* GetValueByPointer ( const T &  root,
const GenericPointer< typename T::ValueType > &  pointer 
)

Definition at line 1049 of file pointer.h.

template<typename T , typename CharType , size_t N>
T::ValueType* GetValueByPointer ( T &  root,
const CharType(&)  source[N] 
)

Definition at line 1054 of file pointer.h.

References source.

template<typename T , typename CharType , size_t N>
const T::ValueType* GetValueByPointer ( const T &  root,
const CharType(&)  source[N] 
)

Definition at line 1059 of file pointer.h.

References source.

template<typename T >
T::ValueType& GetValueByPointerWithDefault ( T &  root,
const GenericPointer< typename T::ValueType > &  pointer,
const typename T::ValueType &  defaultValue,
typename T::AllocatorType &  a 
)

Definition at line 1066 of file pointer.h.

+ Here is the caller graph for this function:

template<typename T >
T::ValueType& GetValueByPointerWithDefault ( T &  root,
const GenericPointer< typename T::ValueType > &  pointer,
const typename T::Ch *  defaultValue,
typename T::AllocatorType &  a 
)

Definition at line 1071 of file pointer.h.

References defaultValue, GetValueByPointerWithDefault(), and GenericPointer< ValueType, Allocator >::RAPIDJSON_DISABLEIF_RETURN().

+ Here is the call graph for this function:

template<typename T , typename CharType , size_t N>
T::ValueType& GetValueByPointerWithDefault ( T &  root,
const CharType(&)  source[N],
const typename T::ValueType &  defaultValue,
typename T::AllocatorType &  a 
)

Definition at line 1089 of file pointer.h.

References source.

template<typename T , typename CharType , size_t N>
T::ValueType& GetValueByPointerWithDefault ( T &  root,
const CharType(&)  source[N],
const typename T::Ch *  defaultValue,
typename T::AllocatorType &  a 
)

Definition at line 1094 of file pointer.h.

References defaultValue, GetValueByPointerWithDefault(), GenericPointer< ValueType, Allocator >::RAPIDJSON_DISABLEIF_RETURN(), and source.

+ Here is the call graph for this function:

template<typename DocumentType >
DocumentType::ValueType& GetValueByPointerWithDefault ( DocumentType &  document,
const GenericPointer< typename DocumentType::ValueType > &  pointer,
const typename DocumentType::ValueType &  defaultValue 
)

Definition at line 1114 of file pointer.h.

template<typename DocumentType >
DocumentType::ValueType& GetValueByPointerWithDefault ( DocumentType &  document,
const GenericPointer< typename DocumentType::ValueType > &  pointer,
const typename DocumentType::Ch *  defaultValue 
)

Definition at line 1119 of file pointer.h.

References defaultValue, GetValueByPointerWithDefault(), and GenericPointer< ValueType, Allocator >::RAPIDJSON_DISABLEIF_RETURN().

+ Here is the call graph for this function:

template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType& GetValueByPointerWithDefault ( DocumentType &  document,
const CharType(&)  source[N],
const typename DocumentType::ValueType &  defaultValue 
)

Definition at line 1137 of file pointer.h.

References source.

template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType& GetValueByPointerWithDefault ( DocumentType &  document,
const CharType(&)  source[N],
const typename DocumentType::Ch *  defaultValue 
)

Definition at line 1142 of file pointer.h.

References GetValueByPointerWithDefault(), GenericPointer< ValueType, Allocator >::RAPIDJSON_DISABLEIF_RETURN(), and source.

+ Here is the call graph for this function:

template<typename T , typename T2 >
RAPIDJSON_DISABLEIF_RETURN ( (internal::OrExpr< internal::IsPointer< T2 >, internal::IsGenericValue< T2 > >)  ,
(typename T::ValueType &)   
)

+ Here is the caller graph for this function:

template<typename T , typename CharType , size_t N, typename T2 >
RAPIDJSON_DISABLEIF_RETURN ( (internal::OrExpr< internal::IsPointer< T2 >, internal::IsGenericValue< T2 > >)  ,
(typename T::ValueType &)   
)
template<typename DocumentType , typename T2 >
RAPIDJSON_DISABLEIF_RETURN ( (internal::OrExpr< internal::IsPointer< T2 >, internal::IsGenericValue< T2 > >)  ,
(typename DocumentType::ValueType &)   
)
template<typename DocumentType , typename CharType , size_t N, typename T2 >
RAPIDJSON_DISABLEIF_RETURN ( (internal::OrExpr< internal::IsPointer< T2 >, internal::IsGenericValue< T2 > >)  ,
(typename DocumentType::ValueType &)   
)
template<typename T >
T::ValueType& SetValueByPointer ( T &  root,
const GenericPointer< typename T::ValueType > &  pointer,
typename T::ValueType &  value,
typename T::AllocatorType &  a 
)

Definition at line 1162 of file pointer.h.

References GenericPointer< ValueType, Allocator >::Set().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename T >
T::ValueType& SetValueByPointer ( T &  root,
const GenericPointer< typename T::ValueType > &  pointer,
const typename T::ValueType &  value,
typename T::AllocatorType &  a 
)

Definition at line 1167 of file pointer.h.

References GenericPointer< ValueType, Allocator >::Set().

+ Here is the call graph for this function:

template<typename T >
T::ValueType& SetValueByPointer ( T &  root,
const GenericPointer< typename T::ValueType > &  pointer,
const typename T::Ch *  value,
typename T::AllocatorType &  a 
)
template<typename T , typename CharType , size_t N>
T::ValueType& SetValueByPointer ( T &  root,
const CharType(&)  source[N],
typename T::ValueType &  value,
typename T::AllocatorType &  a 
)

Definition at line 1190 of file pointer.h.

References GenericPointer< ValueType, Allocator >::Set(), and source.

+ Here is the call graph for this function:

template<typename T , typename CharType , size_t N>
T::ValueType& SetValueByPointer ( T &  root,
const CharType(&)  source[N],
const typename T::ValueType &  value,
typename T::AllocatorType &  a 
)

Definition at line 1195 of file pointer.h.

References GenericPointer< ValueType, Allocator >::Set(), and source.

+ Here is the call graph for this function:

template<typename T , typename CharType , size_t N>
T::ValueType& SetValueByPointer ( T &  root,
const CharType(&)  source[N],
const typename T::Ch *  value,
typename T::AllocatorType &  a 
)
template<typename DocumentType >
DocumentType::ValueType& SetValueByPointer ( DocumentType &  document,
const GenericPointer< typename DocumentType::ValueType > &  pointer,
typename DocumentType::ValueType &  value 
)

Definition at line 1220 of file pointer.h.

References GenericPointer< ValueType, Allocator >::Set().

+ Here is the call graph for this function:

template<typename DocumentType >
DocumentType::ValueType& SetValueByPointer ( DocumentType &  document,
const GenericPointer< typename DocumentType::ValueType > &  pointer,
const typename DocumentType::ValueType &  value 
)

Definition at line 1225 of file pointer.h.

References GenericPointer< ValueType, Allocator >::Set().

+ Here is the call graph for this function:

template<typename DocumentType >
DocumentType::ValueType& SetValueByPointer ( DocumentType &  document,
const GenericPointer< typename DocumentType::ValueType > &  pointer,
const typename DocumentType::Ch *  value 
)
template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType& SetValueByPointer ( DocumentType &  document,
const CharType(&)  source[N],
typename DocumentType::ValueType &  value 
)

Definition at line 1248 of file pointer.h.

References GenericPointer< ValueType, Allocator >::Set(), and source.

+ Here is the call graph for this function:

template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType& SetValueByPointer ( DocumentType &  document,
const CharType(&)  source[N],
const typename DocumentType::ValueType &  value 
)

Definition at line 1253 of file pointer.h.

References GenericPointer< ValueType, Allocator >::Set(), and source.

+ Here is the call graph for this function:

template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType& SetValueByPointer ( DocumentType &  document,
const CharType(&)  source[N],
const typename DocumentType::Ch *  value 
)
template<typename T >
T::ValueType& SwapValueByPointer ( T &  root,
const GenericPointer< typename T::ValueType > &  pointer,
typename T::ValueType &  value,
typename T::AllocatorType &  a 
)

Definition at line 1278 of file pointer.h.

References GenericPointer< ValueType, Allocator >::Swap().

+ Here is the call graph for this function:

template<typename T , typename CharType , size_t N>
T::ValueType& SwapValueByPointer ( T &  root,
const CharType(&)  source[N],
typename T::ValueType &  value,
typename T::AllocatorType &  a 
)

Definition at line 1283 of file pointer.h.

References source, and GenericPointer< ValueType, Allocator >::Swap().

+ Here is the call graph for this function:

template<typename DocumentType >
DocumentType::ValueType& SwapValueByPointer ( DocumentType &  document,
const GenericPointer< typename DocumentType::ValueType > &  pointer,
typename DocumentType::ValueType &  value 
)

Definition at line 1288 of file pointer.h.

References GenericPointer< ValueType, Allocator >::Swap().

+ Here is the call graph for this function:

template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType& SwapValueByPointer ( DocumentType &  document,
const CharType(&)  source[N],
typename DocumentType::ValueType &  value 
)

Definition at line 1293 of file pointer.h.

References source, and GenericPointer< ValueType, Allocator >::Swap().

+ Here is the call graph for this function:

Variable Documentation

const CharType( T2 T::AllocatorType& a
Initial value:
{
return pointer.GetWithDefault(root, defaultValue, a)
const GenericPointer< typename T::ValueType > T2 defaultValue
Definition: pointer.h:1084
GLsizei const void * pointer
Definition: glew.h:1526
GLboolean GLboolean GLboolean GLboolean a
Definition: glew.h:9517

Definition at line 1084 of file pointer.h.

const GenericPointer< typename DocumentType::ValueType > T2 defaultValue
Initial value:
{
return pointer.GetWithDefault(document, defaultValue)
const GenericPointer< typename T::ValueType > T2 defaultValue
Definition: pointer.h:1084
GLsizei const void * pointer
Definition: glew.h:1526

Definition at line 1084 of file pointer.h.

RAPIDJSON_NAMESPACE_BEGIN const SizeType kPointerInvalidIndex = ~SizeType(0)
static

Represents an invalid index in GenericPointer::Token.

Definition at line 23 of file pointer.h.

const GenericPointer<typename DocumentType::ValueType>& pointer

Definition at line 1084 of file pointer.h.

const CharType(& source)[N]

Definition at line 1107 of file pointer.h.

const CharType( T2 value
Initial value:
{
return pointer.Set(document, value)
GLsizei const GLfloat * value
Definition: glew.h:1852
GLsizei const void * pointer
Definition: glew.h:1526

Definition at line 1185 of file pointer.h.