MNX Document Model
Loading...
Searching...
No Matches
mnx::MnxMetaData Class Reference

Represents metadata for an MNX document. More...

#include <Document.h>

+ Inheritance diagram for mnx::MnxMetaData:

Classes

class  Support
 Represents optional support metadata within an MNX document. More...
 

Public Member Functions

 MnxMetaData (Base &parent, const std::string_view &key)
 Creates a new MnxMetaData class as a child of a JSON element.
 
 MNX_REQUIRED_PROPERTY (int, version)
 Required property indicating the version of the MNX document.
 
 MNX_OPTIONAL_CHILD (Support, support)
 Optional child containing support metadata.
 
 Object (const std::shared_ptr< json > &root, json_pointer pointer)
 Wraps an Object class around an existing JSON object node.
 
 Object (Base &parent, const std::string_view &key)
 Creates a new Object class as a child of a JSON node.
 
- Public Member Functions inherited from mnx::Object
 Object (const std::shared_ptr< json > &root, json_pointer pointer)
 Wraps an Object class around an existing JSON object node.
 
 Object (Base &parent, const std::string_view &key)
 Creates a new Object class as a child of a JSON node.
 
- Public Member Functions inherited from mnx::Base
 Base (const Base &src)
 Copy constructor.
 
 Base (Base &&src) noexcept
 Move constructor.
 
Baseoperator= (const Base &src)
 Copy assignment operator.
 
Baseoperator= (Base &&src)
 Move assignment operator.
 
std::string dump (int indents=-1)
 Dumps the branch to a string. Useful in debugging.
 
template<typename 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.
 
json_pointer pointer () const
 Returns the json_pointer for this node.
 

Additional Inherited Members

- Protected Member Functions inherited from mnx::Base
jsonref () const
 Convert this node for retrieval.
 
jsonref ()
 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, const std::string_view &key)
 Construct a Base reference as a child inside a parent node.
 
template<typename T >
getChild (const std::string_view &key) const
 Retrieves and validates a required child node.
 
template<typename T >
setChild (const std::string_view &key, const T &value)
 Sets a child node.
 
template<typename T >
std::optional< T > getOptionalChild (const std::string_view &key) const
 Retrieves an optional child node.
 

Detailed Description

Represents metadata for an MNX document.

Constructor & Destructor Documentation

◆ MnxMetaData()

mnx::MnxMetaData::MnxMetaData ( Base parent,
const std::string_view &  key 
)
inline

Creates a new MnxMetaData class as a child of a JSON element.

Parameters
parentThe parent class instance
keyThe JSON key to use for embedding in parent.

Member Function Documentation

◆ Object() [1/2]

mnx::Object::Object ( Base parent,
const std::string_view &  key 
)
inline

Creates a new Object class as a child of a JSON node.

Parameters
parentThe parent class instance
keyThe JSON key to use for embedding in parent.

◆ Object() [2/2]

mnx::Object::Object ( const std::shared_ptr< json > &  root,
json_pointer  pointer 
)
inline

Wraps an Object class around an existing JSON object node.

Parameters
rootReference to the document root
pointerThe json_pointer value for the node