Classes | Typedefs | Enumerations | Variables
pointer.h File Reference
#include "document.h"
#include "internal/itoa.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, size_t *unresolvedTokenIndex=0)
 
template<typename T >
const T::ValueType * GetValueByPointer (const T &root, const GenericPointer< typename T::ValueType > &pointer, size_t *unresolvedTokenIndex=0)
 
template<typename T , typename CharType , size_t N>
T::ValueType * GetValueByPointer (T &root, const CharType(&source)[N], size_t *unresolvedTokenIndex=0)
 
template<typename T , typename CharType , size_t N>
const T::ValueType * GetValueByPointer (const T &root, const CharType(&source)[N], size_t *unresolvedTokenIndex=0)
 
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 1052 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 1060 of file pointer.h.

1060  {
1061  return pointer.Create(root, a);
1062 }
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
template<typename T , typename CharType , size_t N>
T::ValueType& CreateValueByPointer ( T &  root,
const CharType(&)  source[N],
typename T::AllocatorType &  a 
)

Definition at line 1065 of file pointer.h.

1065  {
1066  return GenericPointer<typename T::ValueType>(source, N - 1).Create(root, a);
1067 }
const CharType(& source)[N]
Definition: pointer.h:1147
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
template<typename DocumentType >
DocumentType::ValueType& CreateValueByPointer ( DocumentType &  document,
const GenericPointer< typename DocumentType::ValueType > &  pointer 
)

Definition at line 1072 of file pointer.h.

1072  {
1073  return pointer.Create(document);
1074 }
template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType& CreateValueByPointer ( DocumentType &  document,
const CharType(&)  source[N] 
)

Definition at line 1077 of file pointer.h.

1077  {
1078  return GenericPointer<typename DocumentType::ValueType>(source, N - 1).Create(document);
1079 }
const CharType(& source)[N]
Definition: pointer.h:1147
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
template<typename T >
bool EraseValueByPointer ( T &  root,
const GenericPointer< typename T::ValueType > &  pointer 
)

Definition at line 1340 of file pointer.h.

1340  {
1341  return pointer.Erase(root);
1342 }
bool Erase(ValueType &root) const
Erase a value in a subtree.
Definition: pointer.h:714
template<typename T , typename CharType , size_t N>
bool EraseValueByPointer ( T &  root,
const CharType(&)  source[N] 
)

Definition at line 1345 of file pointer.h.

1345  {
1346  return GenericPointer<typename T::ValueType>(source, N - 1).Erase(root);
1347 }
const CharType(& source)[N]
Definition: pointer.h:1147
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
template<typename T >
T::ValueType* GetValueByPointer ( T &  root,
const GenericPointer< typename T::ValueType > &  pointer,
size_t *  unresolvedTokenIndex = 0 
)

Definition at line 1084 of file pointer.h.

1084  {
1085  return pointer.Get(root, unresolvedTokenIndex);
1086 }
template<typename T >
const T::ValueType* GetValueByPointer ( const T &  root,
const GenericPointer< typename T::ValueType > &  pointer,
size_t *  unresolvedTokenIndex = 0 
)

Definition at line 1089 of file pointer.h.

1089  {
1090  return pointer.Get(root, unresolvedTokenIndex);
1091 }
template<typename T , typename CharType , size_t N>
T::ValueType* GetValueByPointer ( T &  root,
const CharType(&)  source[N],
size_t *  unresolvedTokenIndex = 0 
)

Definition at line 1094 of file pointer.h.

1094  {
1095  return GenericPointer<typename T::ValueType>(source, N - 1).Get(root, unresolvedTokenIndex);
1096 }
const CharType(& source)[N]
Definition: pointer.h:1147
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
template<typename T , typename CharType , size_t N>
const T::ValueType* GetValueByPointer ( const T &  root,
const CharType(&)  source[N],
size_t *  unresolvedTokenIndex = 0 
)

Definition at line 1099 of file pointer.h.

1099  {
1100  return GenericPointer<typename T::ValueType>(source, N - 1).Get(root, unresolvedTokenIndex);
1101 }
const CharType(& source)[N]
Definition: pointer.h:1147
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
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 1106 of file pointer.h.

1106  {
1107  return pointer.GetWithDefault(root, defaultValue, a);
1108 }
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
const GenericPointer< typename T::ValueType > T2 defaultValue
Definition: pointer.h:1124
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 1111 of file pointer.h.

1111  {
1112  return pointer.GetWithDefault(root, defaultValue, a);
1113 }
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
const GenericPointer< typename T::ValueType > T2 defaultValue
Definition: pointer.h:1124
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 1129 of file pointer.h.

1129  {
1130  return GenericPointer<typename T::ValueType>(source, N - 1).GetWithDefault(root, defaultValue, a);
1131 }
const CharType(& source)[N]
Definition: pointer.h:1147
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
const GenericPointer< typename T::ValueType > T2 defaultValue
Definition: pointer.h:1124
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 1134 of file pointer.h.

1134  {
1135  return GenericPointer<typename T::ValueType>(source, N - 1).GetWithDefault(root, defaultValue, a);
1136 }
const CharType(& source)[N]
Definition: pointer.h:1147
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
const GenericPointer< typename T::ValueType > T2 defaultValue
Definition: pointer.h:1124
template<typename DocumentType >
DocumentType::ValueType& GetValueByPointerWithDefault ( DocumentType &  document,
const GenericPointer< typename DocumentType::ValueType > &  pointer,
const typename DocumentType::ValueType &  defaultValue 
)

Definition at line 1154 of file pointer.h.

1154  {
1155  return pointer.GetWithDefault(document, defaultValue);
1156 }
const GenericPointer< typename T::ValueType > T2 defaultValue
Definition: pointer.h:1124
template<typename DocumentType >
DocumentType::ValueType& GetValueByPointerWithDefault ( DocumentType &  document,
const GenericPointer< typename DocumentType::ValueType > &  pointer,
const typename DocumentType::Ch *  defaultValue 
)

Definition at line 1159 of file pointer.h.

1159  {
1160  return pointer.GetWithDefault(document, defaultValue);
1161 }
const GenericPointer< typename T::ValueType > T2 defaultValue
Definition: pointer.h:1124
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 1177 of file pointer.h.

1177  {
1178  return GenericPointer<typename DocumentType::ValueType>(source, N - 1).GetWithDefault(document, defaultValue);
1179 }
const CharType(& source)[N]
Definition: pointer.h:1147
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
const GenericPointer< typename T::ValueType > T2 defaultValue
Definition: pointer.h:1124
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 1182 of file pointer.h.

1182  {
1183  return GenericPointer<typename DocumentType::ValueType>(source, N - 1).GetWithDefault(document, defaultValue);
1184 }
const CharType(& source)[N]
Definition: pointer.h:1147
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
const GenericPointer< typename T::ValueType > T2 defaultValue
Definition: pointer.h:1124
template<typename T , typename T2 >
RAPIDJSON_DISABLEIF_RETURN ( (internal::OrExpr< internal::IsPointer< T2 >, internal::IsGenericValue< T2 > >)  ,
(typename T::ValueType &)   
)
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 1202 of file pointer.h.

1202  {
1203  return pointer.Set(root, value, a);
1204 }
ValueType & Set(ValueType &root, ValueType &value, typename ValueType::AllocatorType &allocator) const
Set a value in a subtree, with move semantics.
Definition: pointer.h:613
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
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 1207 of file pointer.h.

1207  {
1208  return pointer.Set(root, value, a);
1209 }
ValueType & Set(ValueType &root, ValueType &value, typename ValueType::AllocatorType &allocator) const
Set a value in a subtree, with move semantics.
Definition: pointer.h:613
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
template<typename T >
T::ValueType& SetValueByPointer ( T &  root,
const GenericPointer< typename T::ValueType > &  pointer,
const typename T::Ch *  value,
typename T::AllocatorType &  a 
)

Definition at line 1212 of file pointer.h.

1212  {
1213  return pointer.Set(root, value, a);
1214 }
ValueType & Set(ValueType &root, ValueType &value, typename ValueType::AllocatorType &allocator) const
Set a value in a subtree, with move semantics.
Definition: pointer.h:613
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
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 1230 of file pointer.h.

1230  {
1232 }
const CharType(& source)[N]
Definition: pointer.h:1147
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
constexpr BitMask< Storage > Set(Flag_t< Storage > flag)
Returns a bit mask which sets the specified flag.
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
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 1235 of file pointer.h.

1235  {
1237 }
const CharType(& source)[N]
Definition: pointer.h:1147
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
constexpr BitMask< Storage > Set(Flag_t< Storage > flag)
Returns a bit mask which sets the specified flag.
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
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 
)

Definition at line 1240 of file pointer.h.

1240  {
1242 }
const CharType(& source)[N]
Definition: pointer.h:1147
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
constexpr BitMask< Storage > Set(Flag_t< Storage > flag)
Returns a bit mask which sets the specified flag.
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
template<typename DocumentType >
DocumentType::ValueType& SetValueByPointer ( DocumentType &  document,
const GenericPointer< typename DocumentType::ValueType > &  pointer,
typename DocumentType::ValueType &  value 
)

Definition at line 1260 of file pointer.h.

1260  {
1261  return pointer.Set(document, value);
1262 }
ValueType & Set(ValueType &root, ValueType &value, typename ValueType::AllocatorType &allocator) const
Set a value in a subtree, with move semantics.
Definition: pointer.h:613
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
template<typename DocumentType >
DocumentType::ValueType& SetValueByPointer ( DocumentType &  document,
const GenericPointer< typename DocumentType::ValueType > &  pointer,
const typename DocumentType::ValueType &  value 
)

Definition at line 1265 of file pointer.h.

1265  {
1266  return pointer.Set(document, value);
1267 }
ValueType & Set(ValueType &root, ValueType &value, typename ValueType::AllocatorType &allocator) const
Set a value in a subtree, with move semantics.
Definition: pointer.h:613
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
template<typename DocumentType >
DocumentType::ValueType& SetValueByPointer ( DocumentType &  document,
const GenericPointer< typename DocumentType::ValueType > &  pointer,
const typename DocumentType::Ch *  value 
)

Definition at line 1270 of file pointer.h.

1270  {
1271  return pointer.Set(document, value);
1272 }
ValueType & Set(ValueType &root, ValueType &value, typename ValueType::AllocatorType &allocator) const
Set a value in a subtree, with move semantics.
Definition: pointer.h:613
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType& SetValueByPointer ( DocumentType &  document,
const CharType(&)  source[N],
typename DocumentType::ValueType &  value 
)

Definition at line 1288 of file pointer.h.

1288  {
1290 }
const CharType(& source)[N]
Definition: pointer.h:1147
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
constexpr BitMask< Storage > Set(Flag_t< Storage > flag)
Returns a bit mask which sets the specified flag.
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
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 1293 of file pointer.h.

1293  {
1295 }
const CharType(& source)[N]
Definition: pointer.h:1147
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
constexpr BitMask< Storage > Set(Flag_t< Storage > flag)
Returns a bit mask which sets the specified flag.
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType& SetValueByPointer ( DocumentType &  document,
const CharType(&)  source[N],
const typename DocumentType::Ch *  value 
)

Definition at line 1298 of file pointer.h.

1298  {
1300 }
const CharType(& source)[N]
Definition: pointer.h:1147
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
constexpr BitMask< Storage > Set(Flag_t< Storage > flag)
Returns a bit mask which sets the specified flag.
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
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 1318 of file pointer.h.

1318  {
1319  return pointer.Swap(root, value, a);
1320 }
ValueType & Swap(ValueType &root, ValueType &value, typename ValueType::AllocatorType &allocator) const
Swap a value with a value in a subtree.
Definition: pointer.h:695
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
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 1323 of file pointer.h.

1323  {
1325 }
const CharType(& source)[N]
Definition: pointer.h:1147
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
void Swap(T &a, T &b) RAPIDJSON_NOEXCEPT
Custom swap() to avoid dependency on C++ <algorithm> header.
Definition: swap.h:33
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
template<typename DocumentType >
DocumentType::ValueType& SwapValueByPointer ( DocumentType &  document,
const GenericPointer< typename DocumentType::ValueType > &  pointer,
typename DocumentType::ValueType &  value 
)

Definition at line 1328 of file pointer.h.

1328  {
1329  return pointer.Swap(document, value);
1330 }
ValueType & Swap(ValueType &root, ValueType &value, typename ValueType::AllocatorType &allocator) const
Swap a value with a value in a subtree.
Definition: pointer.h:695
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
template<typename DocumentType , typename CharType , size_t N>
DocumentType::ValueType& SwapValueByPointer ( DocumentType &  document,
const CharType(&)  source[N],
typename DocumentType::ValueType &  value 
)

Definition at line 1333 of file pointer.h.

1333  {
1335 }
const CharType(& source)[N]
Definition: pointer.h:1147
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
void Swap(T &a, T &b) RAPIDJSON_NOEXCEPT
Custom swap() to avoid dependency on C++ <algorithm> header.
Definition: swap.h:33
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225

Variable Documentation

const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Initial value:
{
return pointer.GetWithDefault(root, defaultValue, a)
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
const GenericPointer< typename T::ValueType > T2 defaultValue
Definition: pointer.h:1124
const GenericPointer< typename T::ValueType > & pointer
Definition: pointer.h:1124

Definition at line 1124 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:1124
const GenericPointer< typename T::ValueType > & pointer
Definition: pointer.h:1124

Definition at line 1124 of file pointer.h.

RAPIDJSON_NAMESPACE_BEGIN const SizeType kPointerInvalidIndex = ~SizeType(0)
static

Represents an invalid index in GenericPointer::Token.

Definition at line 31 of file pointer.h.

const GenericPointer< typename DocumentType::ValueType > & pointer

Definition at line 1124 of file pointer.h.

const CharType(& source

Definition at line 1147 of file pointer.h.

const GenericPointer< typename DocumentType::ValueType > T2 value
Initial value:
{
return pointer.Set(document, value)
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
const GenericPointer< typename T::ValueType > & pointer
Definition: pointer.h:1124

Definition at line 1225 of file pointer.h.