|
| | Array (const std::shared_ptr< json > &root, json_pointer pointer) |
| | Wraps an Array class around an existing JSON array node.
|
| |
| | Array (Base &parent, std::string_view key) |
| | Creates a new Array class as a child of a JSON node.
|
| |
|
size_t | size () const |
| | Get the size of the array.
|
| |
|
bool | empty () const |
| | Check if the array is empty.
|
| |
|
void | clear () |
| | Clear all elements.
|
| |
|
T | at (size_t index) const |
| | Direct getter for a particular element.
|
| |
|
auto | operator[] (size_t index) const |
| | const operator[]
|
| |
|
auto | operator[] (size_t index) |
| | non-const operator[]
|
| |
|
template<typename U = T> |
| std::enable_if_t<!std::is_base_of_v< Base, U >, void > | push_back (const U &value) |
| | Append a new value to the array. (Available only for primitive types)
|
| |
| template<typename U = T, typename... Args, std::enable_if_t< std::is_base_of_v< Base, U >, int > = 0> |
| U | append (Args &&... args) |
| | Create a new element at the end of the array. (Available only for Base types)
|
| |
|
void | erase (size_t index) |
| | Remove an element at a given index.
|
| |
|
auto | begin () |
| | Returns an iterator to the beginning of the array.
|
| |
|
auto | end () |
| | Returns an iterator to the end of the array.
|
| |
|
auto | begin () const |
| | Returns a const iterator to the beginning of the array.
|
| |
|
auto | end () const |
| | Returns a const iterator to the end of the array.
|
| |
|
| Base (const Base &src) |
| | Copy constructor.
|
| |
|
| Base (Base &&src) noexcept |
| | Move constructor.
|
| |
|
Base & | operator= (const Base &src) |
| | Copy assignment operator.
|
| |
|
Base & | operator= (Base &&src) |
| | Move assignment operator.
|
| |
| std::string | dump (int indents=-1) const |
| | Dumps the branch to a string. Useful in debugging.
|
| |
| template<typename T > |
| T | parent () const |
| | Returns the parent object for this node.
|
| |
| template<typename T > |
| std::optional< T > | getEnclosingElement () const |
| | Returns the enclosing array element for this instance. If T is a type that can be nested (e.g. ContentObject), the highest level instance is returned. (To get the lowest level immediate container, use ArrayElementObject::container.)
|
| |
|
json_pointer | pointer () const |
| | Returns the json_pointer for this node.
|
| |
|
Document | document () const |
| | Returns the document root.
|
| |
|
| void | checkIndex (size_t index) const |
| | validates that an index is not out of range
|
| |
| json & | ref () const |
| | Convert this node for retrieval.
|
| |
| json & | ref () |
| | Access the JSON node for modification.
|
| |
|
const std::shared_ptr< json > & | root () const |
| | Returns the root.
|
| |
| | Base (const std::shared_ptr< json > &root, json_pointer pointer) |
| | Wrap a Base instance around a specific JSON reference using a json_pointer.
|
| |
| | Base (json &&jsonRef, Base &parent, std::string_view key) |
| | Construct a Base reference as a child inside a parent node.
|
| |
| template<typename T > |
| T | getChild (std::string_view key) const |
| | Retrieves and validates a required child node.
|
| |
| template<typename T > |
| T | setChild (std::string_view key, const T &value) |
| | Sets a child node.
|
| |
| template<typename T > |
| std::optional< T > | getOptionalChild (std::string_view key) const |
| | Retrieves an optional child node.
|
| |
template<typename T>
class mnx::Array< T >
Represents an MNX array, encapsulating property access.