|
| Document () |
| Constructs an empty MNX document. The resulting instance contains all required fields and should validate against the schema.
|
|
| Document (const std::shared_ptr< json > &root) |
| Wrap a document around a root element.
|
|
| Document (const Document &src) |
| Copy constructor that zaps the id mapping, if any.
|
|
| Document (std::istream &inputStream) |
| Constructs a Document from an input stream.
|
|
| MNX_REQUIRED_CHILD (Global, global) |
| Global data for the MNX document.
|
|
| MNX_REQUIRED_CHILD (MnxMetaData, mnx) |
| Metadata for the MNX document.
|
|
| MNX_OPTIONAL_CHILD (Array< Layout >, layouts) |
| List of layouts for the MNX document.
|
|
| MNX_REQUIRED_CHILD (Array< Part >, parts) |
| List of parts for the MNX document.
|
|
| MNX_OPTIONAL_CHILD (Array< Score >, scores) |
| List of scores for the MNX document.
|
|
void | save (const std::filesystem::path &outputPath, std::optional< int > indentSpaces) const |
| Saves the MNX document to a file.
|
|
void | buildIdMapping (const std::optional< ErrorHandler > &errorHandler=std::nullopt) |
| Builds or rebuilds the ID mapping for the document, replacing any existing mapping.
|
|
const util::IdMapping & | getIdMapping () const |
| Gets a reference to the ID mapping instance for the document.
|
|
bool | hasIdMapping () const |
| Returns whether am ID mapping currently exists.
|
|
const std::shared_ptr< json > & | root () const |
| Returns the root.
|
|
| 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.
|
|
| 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) |
| 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.
|
|
json_pointer | pointer () const |
| Returns the json_pointer for this node.
|
|
|
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, const std::string_view &key) |
| Construct a Base reference as a child inside a parent node.
|
|
template<typename T > |
T | getChild (const std::string_view &key) const |
| Retrieves and validates a required child node.
|
|
template<typename T > |
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.
|
|
Represents an MNX document and provides methods for loading and saving.