|
|
Allocator stackAllocator | RAPIDJSON_DISABLEIF_RETURN ((internal::OrExpr< internal::IsPointer< T >, internal::IsGenericValue< T > >),(ValueType &)) GetWithDefault(GenericDocument< EncodingType |
| |
| bool | Erase (ValueType &root) const |
| | Erase a value in a subtree. More...
|
| |
|
|
| GenericPointer (Allocator *allocator=0) |
| | Default constructor.
|
| |
| | GenericPointer (const Ch *source, Allocator *allocator=0) |
| | Constructor that parses a string or URI fragment representation. More...
|
| |
| | GenericPointer (const Ch *source, size_t length, Allocator *allocator=0) |
| | Constructor that parses a string or URI fragment representation, with length of the source string. More...
|
| |
| | GenericPointer (const Token *tokens, size_t tokenCount) |
| | Constructor with user-supplied tokens. More...
|
| |
|
| GenericPointer (const GenericPointer &rhs, Allocator *allocator=0) |
| | Copy constructor.
|
| |
|
| ~GenericPointer () |
| | Destructor.
|
| |
|
GenericPointer & | operator= (const GenericPointer &rhs) |
| | Assignment operator.
|
| |
|
| GenericPointer | Append (const Token &token, Allocator *allocator=0) const |
| | Append a token and return a new Pointer. More...
|
| |
| GenericPointer | Append (const Ch *name, SizeType length, Allocator *allocator=0) const |
| | Append a name token with length, and return a new Pointer. More...
|
| |
| template<typename T > |
| | RAPIDJSON_DISABLEIF_RETURN ((internal::NotExpr< internal::IsSame< typename internal::RemoveConst< T >::Type, Ch > >),(GenericPointer)) Append(T *name |
| | Append a name token without length, and return a new Pointer. More...
|
| |
|
| ValueType & | Swap (ValueType &root, ValueType &value, typename ValueType::AllocatorType &allocator) const |
| | Swap a value with a value in a subtree. More...
|
| |
|
template<typename stackAllocator > |
| ValueType & | Swap (GenericDocument< EncodingType, typename ValueType::AllocatorType, stackAllocator > &document, ValueType &value) const |
| | Swap a value with a value in a document.
|
| |
|
|
T | value |
| |
| T ValueType::AllocatorType &allocator | const |
| |
|
stackAllocator & | document |
| |
| stackAllocator T value | const |
| |
| ValueType & | Set (ValueType &root, ValueType &value, typename ValueType::AllocatorType &allocator) const |
| | Set a value in a subtree, with move semantics. More...
|
| |
|
ValueType & | Set (ValueType &root, const ValueType &value, typename ValueType::AllocatorType &allocator) const |
| | Set a value in a subtree, with copy semantics.
|
| |
|
ValueType & | Set (ValueType &root, const Ch *value, typename ValueType::AllocatorType &allocator) const |
| | Set a null-terminated string in a subtree.
|
| |
| template<typename T > |
| | RAPIDJSON_DISABLEIF_RETURN ((internal::OrExpr< internal::IsPointer< T >, internal::IsGenericValue< T > >),(ValueType &)) Set(ValueType &root |
| | Set a primitive value in a subtree. More...
|
| |
|
template<typename stackAllocator > |
| ValueType & | Set (GenericDocument< EncodingType, typename ValueType::AllocatorType, stackAllocator > &document, ValueType &value) const |
| | Set a value in a document, with move semantics.
|
| |
|
template<typename stackAllocator > |
| ValueType & | Set (GenericDocument< EncodingType, typename ValueType::AllocatorType, stackAllocator > &document, const ValueType &value) const |
| | Set a value in a document, with copy semantics.
|
| |
|
template<typename stackAllocator > |
| ValueType & | Set (GenericDocument< EncodingType, typename ValueType::AllocatorType, stackAllocator > &document, const Ch *value) const |
| | Set a null-terminated string in a document.
|
| |
| template<typename T , typename stackAllocator > |
| | RAPIDJSON_DISABLEIF_RETURN ((internal::OrExpr< internal::IsPointer< T >, internal::IsGenericValue< T > >),(ValueType &)) Set(GenericDocument< EncodingType |
| | Set a primitive value in a document. More...
|
| |
template<typename ValueType, typename Allocator = CrtAllocator>
class GenericPointer< ValueType, Allocator >
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
This class implements RFC 6901 "JavaScript Object Notation (JSON) Pointer" (https://tools.ietf.org/html/rfc6901).
A JSON pointer is for identifying a specific value in a JSON document (GenericDocument). It can simplify coding of DOM tree manipulation, because it can access multiple-level depth of DOM tree with single API call.
After it parses a string representation (e.g. "/foo/0" or URI fragment representation (e.g. "#/foo/0") into its internal representation (tokens), it can be used to resolve a specific value in multiple documents, or sub-tree of documents.
Contrary to GenericValue, Pointer can be copy constructed and copy assigned. Apart from assignment, a Pointer cannot be modified after construction.
Although Pointer is very convenient, please aware that constructing Pointer involves parsing and dynamic memory allocation. A special constructor with user- supplied tokens eliminates these.
GenericPointer depends on GenericDocument and GenericValue.
- Template Parameters
-
| ValueType | The value type of the DOM tree. E.g. GenericValue<UTF8<> > |
| Allocator | The allocator type for allocating memory for internal representation. |
- Note
- GenericPointer uses same encoding of ValueType. However, Allocator of GenericPointer is independent of Allocator of Value.