|
JSON Voorhees
Killer JSON for C++
|
Represents an exact path in some JSON structure. More...
#include <jsonv/path.hpp>
Inheritance diagram for jsonv::path:
Collaboration diagram for jsonv::path:Public Member Functions | |
| path () | |
| Creates a new, empty path. | |
| path (storage_type elements) | |
| Creates a path with the provided elements. | |
| path (const path &) | |
| path & | operator= (const path &) |
| path (path &&) noexcept | |
| path & | operator= (path &&) noexcept |
| path | operator+ (const path &subpath) const |
| Return a new path with the given subpath appended to the back. | |
| path & | operator+= (const path &subpath) |
| path | operator+ (path_element elem) const |
| Return a new path with the given elem appended to the back. | |
| path & | operator+= (path_element elem) |
Static Public Member Functions | |
| static path | create (std::string_view specification) |
Create a path from a string definition. | |
Create a path from a string definition.
The syntax of this is ECMAScript's syntax for selecting elements, so path::create(".foo.bar[1]") is equivalent to path({ "foo", "bar", 1 }).
| std::invalid_argument | if the specification is not valid. |