opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | List of all members
osc::Node Class Reference

#include <node.h>

Inheritance diagram for osc::Node:
[legend]
Collaboration diagram for osc::Node:
[legend]

Public Member Functions

std::unique_ptr< Nodeclone () const
 
CStringView name () const
 
void set_name (std::string_view)
 
template<std::derived_from< Node > TNode = Node>
const TNodeparent () const
 
template<std::derived_from< Node > TNode = Node>
TNodeupd_parent ()
 
size_t num_children () const
 
template<std::derived_from< Node > TNode = Node>
const TNodechild (size_t pos) const
 
template<std::derived_from< Node > TNode = Node>
const TNodechild (std::string_view child_name) const
 
template<std::derived_from< Node > TNode = Node>
TNodeupd_child (size_t pos)
 
template<std::derived_from< Node > TNode = Node>
TNodeupd_child (std::string_view child_name)
 
template<std::derived_from< Node > TNode = Node>
TNodeadd_child (std::unique_ptr< TNode > node_ptr)
 
template<std::derived_from< Node > TNode, typename... Args>
requires std::constructible_from<TNode, Args&&...>
TNodeemplace_child (Args &&... args)
 
bool remove_child (size_t)
 
bool remove_child (Node &)
 
bool remove_child (std::string_view child_name)
 
NodePath absolute_path () const
 
template<std::derived_from< Node > TNode = Node>
const TNodefind (const NodePath &node_path) const
 
template<std::derived_from< Node > TNode = Node>
TNodefind_mut (const NodePath &node_path)
 
- Public Member Functions inherited from osc::Object
virtual ~Object () noexcept=default
 
std::string to_string () const
 
std::unique_ptr< Objectclone () const
 
const Classklass () const
 
size_t num_properties () const
 
const StringNameproperty_name (size_t property_index) const
 
std::optional< size_tproperty_index (const StringName &property_name) const
 
const Variantproperty_default_value (const StringName &property_name) const
 
const Variantproperty_default_value_or_throw (const StringName &property_name) const
 
const Variantproperty_value (const StringName &property_name) const
 
const Variantproperty_value_or_throw (const StringName &property_name) const
 
bool set_property_value (const StringName &property_name, const Variant &value)
 
void set_property_value_or_throw (const StringName &property_name, const Variant &value)
 

Protected Member Functions

 Node ()
 
 Node (const Node &)
 
 Node (Node &&) noexcept
 
Nodeoperator= (const Node &)
 
Nodeoperator= (Node &&) noexcept
 
- Protected Member Functions inherited from osc::Object
 Object (const Class &)
 
 Object (const Object &)=default
 
 Object (Object &&) noexcept=default
 
Objectoperator= (const Object &)=default
 
Objectoperator= (Object &&) noexcept=default
 
void set_property_value_raw (const StringName &property_name, const Variant &value)
 

Additional Inherited Members

- Static Public Member Functions inherited from osc::Object
static const Classklass_static ()
 

Constructor & Destructor Documentation

◆ Node() [1/3]

osc::Node::Node ( )
protected

◆ Node() [2/3]

osc::Node::Node ( const Node )
protected

◆ Node() [3/3]

osc::Node::Node ( Node &&  )
protectednoexcept

Member Function Documentation

◆ absolute_path()

NodePath osc::Node::absolute_path ( ) const

◆ add_child()

template<std::derived_from< Node > TNode = Node>
TNode & osc::Node::add_child ( std::unique_ptr< TNode node_ptr)
inline

◆ child() [1/2]

template<std::derived_from< Node > TNode = Node>
const TNode * osc::Node::child ( size_t  pos) const
inline

◆ child() [2/2]

template<std::derived_from< Node > TNode = Node>
const TNode * osc::Node::child ( std::string_view  child_name) const
inline

◆ clone()

std::unique_ptr< Node > osc::Node::clone ( ) const
inline

◆ emplace_child()

template<std::derived_from< Node > TNode, typename... Args>
requires std::constructible_from<TNode, Args&&...>
TNode & osc::Node::emplace_child ( Args &&...  args)
inline

◆ find()

template<std::derived_from< Node > TNode = Node>
const TNode * osc::Node::find ( const NodePath node_path) const
inline

◆ find_mut()

template<std::derived_from< Node > TNode = Node>
TNode * osc::Node::find_mut ( const NodePath node_path)
inline

◆ name()

CStringView osc::Node::name ( ) const

◆ num_children()

size_t osc::Node::num_children ( ) const

◆ operator=() [1/2]

Node & osc::Node::operator= ( const Node )
protected

◆ operator=() [2/2]

Node & osc::Node::operator= ( Node &&  )
protectednoexcept

◆ parent()

template<std::derived_from< Node > TNode = Node>
const TNode * osc::Node::parent ( ) const
inline

◆ remove_child() [1/3]

bool osc::Node::remove_child ( Node )

◆ remove_child() [2/3]

bool osc::Node::remove_child ( size_t  )

◆ remove_child() [3/3]

bool osc::Node::remove_child ( std::string_view  child_name)

◆ set_name()

void osc::Node::set_name ( std::string_view  )

◆ upd_child() [1/2]

template<std::derived_from< Node > TNode = Node>
TNode * osc::Node::upd_child ( size_t  pos)
inline

◆ upd_child() [2/2]

template<std::derived_from< Node > TNode = Node>
TNode * osc::Node::upd_child ( std::string_view  child_name)
inline

◆ upd_parent()

template<std::derived_from< Node > TNode = Node>
TNode * osc::Node::upd_parent ( )
inline

The documentation for this class was generated from the following file: