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

Container for formatted-text content objects. More...

#include <FormattedText.h>

+ Inheritance diagram for mnx::FormattedText:

Additional Inherited Members

- Public Types inherited from mnx::ContentArray
using BaseArray = Array< ContentObject >
 The base array type.
 
- Public Types inherited from mnx::Array< ContentObject >
using value_type = ContentObject
 The type for elements in this Array.
 
using iterator = iter< Array >
 non-const iterator type
 
using const_iterator = iter< const Array >
 const iterator type
 
- Public Member Functions inherited from mnx::ContentArray
template<typename T , std::enable_if_t< std::is_base_of_v< ContentObject, T >, int > = 0>
get (size_t index) const
 Retrieve an element from the array as a specific type.
 
template<typename T , std::enable_if_t< std::is_base_of_v< ContentObject, T > &&!std::is_same_v< T, sequence::Event > &&!std::is_same_v< T, sequence::Space > &&!std::is_same_v< T, sequence::MultiNoteTremolo > &&!std::is_same_v< T, sequence::Tuplet >, int > = 0>
append ()
 Append an element of the specified type (default overload for no-arg content types).
 
template<typename T , typename... Args, std::enable_if_t< std::is_base_of_v< ContentObject, T > &&(sizeof...(Args) > 0), int > = 0>
append (const Args &... args)
 Append overload entry point for explicitly specialized argful content types.
 
ContentObject append (...)=delete
 
- Public Member Functions inherited from mnx::Array< ContentObject >
 Array ()
 Constructor for detached array instance.
 
 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.
 
ContentObject at (size_t index) const
 Direct getter for a particular element.
 
ContentObject front () const
 Access the first element.
 
ContentObject back () const
 Access the last element.
 
auto operator[] (size_t index) const
 const operator[]
 
auto operator[] (size_t index)
 non-const operator[]
 
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)
 
void erase (size_t index)
 Remove an element at a given index.
 
std::enable_if_t<!std::is_base_of_v< Base, U >, std::vector< U > > toStdVector () const
 Converts the Array to an owning std::vector.
 
auto begin ()
 Returns an iterator to the beginning of the array.
 
auto begin () const
 Returns a const iterator to the beginning of the array.
 
auto end ()
 Returns an iterator to the end of the array.
 
auto end () const
 Returns a const iterator to the end of the array.
 
- 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) const
 Dumps the branch to a string. Useful in debugging.
 
template<typename T >
parent () const
 Returns the parent object for this node.
 
template<typename T , typename Scope = scope::Default>
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 ContentObject::container.)
 
json_pointer pointer () const
 Returns the json_pointer for this node.
 
Document document () const
 Returns the document root.
 
bool empty () const
 Returns true if the object is empty.
 
- Public Member Functions inherited from mnx::detail::ArrayAppendBase< Derived, T >
template<typename U = T, typename... Args, std::enable_if_t< std::is_base_of_v< Base, U >, int > = 0>
append (Args &&... args)
 Append a new element at the end of the array. (Available only for Base types)
 
- Protected Member Functions inherited from mnx::Array< ContentObject >
void checkIndex (size_t index) const
 validates that an index is not out of range
 
- 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, std::string_view key)
 Construct a Base reference as a child inside a parent node.
 
template<typename T >
getChild (std::string_view key) const
 Retrieves and validates a required child node.
 
template<typename 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.
 

Detailed Description

Container for formatted-text content objects.