Boxes are the reference tokens in order; dotted arrows show which token each member function reads, removes, or adds to.
The diagram shows the reference tokens of the JSON pointer `/a/b/c`. ## Member types - [**string_t**](string_t.md) - the string type used for the reference tokens ## Member functions - [(constructor)](json_pointer.md) - [**to_string**](to_string.md) - return a string representation of the JSON pointer - [`operator string_t`](operator_string_t.md) - return a string representation of the JSON pointer (deprecated) - [**operator==**](operator_eq.md) - compare: equal - [**operator!=**](operator_ne.md) - compare: not equal - [**operator<=>**](operator_spaceship.md) - compare: 3-way (C++20) - [**operator/=**](operator_slasheq.md) - append to the end of the JSON pointer - [**operator/**](operator_slash.md) - create JSON Pointer by appending - [**parent_pointer**](parent_pointer.md) - returns the parent of this JSON pointer - [**pop_back**](pop_back.md) - remove the last reference token - [**back**](back.md) - return last reference token - [**push_back**](push_back.md) - append an unescaped token at the end of the pointer - [**pop_front**](pop_front.md) - remove the first reference token - [**front**](front.md) - return first reference token - [**push_front**](push_front.md) - append an unescaped token at the start of the pointer - [**empty**](empty.md) - return whether the pointer points to the root document ## Literals - [**operator""_json_pointer**](../operator_literal_json_pointer.md) - user-defined string literal for JSON pointers ## See also - [RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901) - specification of JSON Pointer - [JSON Pointer](../../features/json_pointer.md) - the article on JSON Pointer support - [JSON Patch and Diff](../../features/json_patch.md) - patch paths are JSON pointers ## Version history - Added in version 2.0.0. - Changed template parameter from `basic_json` to string type in version 3.11.0.