by::leaf Class Reference

Core AST node for leaf configuration language. More...

#include <leaf.hpp>

Inheritance diagram for by::leaf:
by::instance by::typeProvidable by::clonable by::nulLeaf by::valLeaf by::verLeaf

Public Member Functions

 leaf (std::initializer_list< me * > subs, const std::string &name="")
 
 leaf (const me &rhs, const std::string &name="")
 
 leaf (const std::string &name="")
 
me & operator[] (const std::string &name)
 
const me & operator[] (const std::string &name) const BY_CONST_FUNC(operator[](name))
 
me & operator[] (const nchar *name)
 
const me & operator[] (const nchar *name) const BY_CONST_FUNC(operator[](name))
 
 operator nbool () const
 
me & sub (const std::string &name)
 
me & sub (const std::string *it) BY_SIDE_FUNC(it
 
const me &sub(nidx n) const BY_CONST_FUNC(sub(n)) nbool has(const std nbool has (const std::string *it) const BY_SIDE_FUNC(has)
 
void add (const leaf &it)
 
void add (const leaf *it) BY_SIDE_FUNC(add)
 
void add (std::initializer_list< leaf * > subs)
 
void del (const leaf &it)
 
void del (const leaf *it) BY_SIDE_FUNC(del)
 
void del (const std::string &name)
 
void del (const std::string *it) BY_SIDE_FUNC(del)
 
void del (const nchar *name)
 
const std::string & getName () const
 
void setName (const std::string &newName)
 
void setName (const std::string *it) BY_SIDE_FUNC(setName)
 
void setName (const nchar *newName)
 
ncnt len () const
 
iterator begin ()
 
iterator end ()
 
const typegetType () const override
 
virtual nint asInt () const
 
virtual nchar asChar () const
 
virtual const std::string & asStr () const
 
virtual nbool asBool () const
 
virtual nbool isExist () const
 
- Public Member Functions inherited from by::instance
 instance (id newId)
 
 instance (const me &rhs)
 
me & operator= (const me &rhs)=default
 
void * operator new (size_t sz) noexcept
 
void operator delete (void *pt, size_t sz) noexcept
 
virtual id getId () const
 
virtual nbool isHeap () const
 
const bindTaggetBindTag () const
 
- Public Member Functions inherited from by::typeProvidable
nbool operator== (const me &rhs) const
 
nbool operator!= (const me &rhs) const
 
nbool isSub (const type &it) const
 
nbool isSub (const type *it) const BY_SIDE_FUNC(isSub)
 
nbool isSub (const me &it) const
 
nbool isSub (const me *it) const BY_SIDE_FUNC(isSub)
 
nbool isSuper (const type &it) const
 
nbool isSuper (const type *it) const BY_SIDE_FUNC(isSuper)
 
nbool isSuper (const me &it) const
 
nbool isSuper (const me *it) const BY_SIDE_FUNC(isSuper)
 
template<typename T >
nint isSub () const
 
template<typename T >
nint isSuper () const
 
template<typename T >
T * cast ()
 
template<typename T >
const T * cast () const BY_CONST_FUNC(cast< T >()) virtual void *cast(const type &to)
 
const void * cast (const type &to) const BY_CONST_FUNC(cast(to)) void *cast(const type *it) BY_SIDE_FUNC(cast)
 
- Public Member Functions inherited from by::clonable
virtual me * clone () const =0
 
virtual me * cloneDeep () const
 
virtual void onCloneDeep (const me &from)
 

Public Attributes

me sub it
 
me sub * this
 
const me &sub(const std::string &name) const BY_CONST_FUNC(sub(name)) const me &sub(const std const me & sub (const nchar *name) const BY_CONST_FUNC(sub(name)) me &sub(nidx n)
 

Additional Inherited Members

- Protected Member Functions inherited from by::instance
nbool _setId (id new1)
 
- Static Protected Member Functions inherited from by::instance
static instancer_getMgr ()
 

Detailed Description

Core AST node for leaf configuration language.

Represents a node in the leaf configuration tree structure. Supports hierarchical configuration data with key-value access patterns.

Member Function Documentation

◆ getType()

const type & by::leaf::getType ( ) const
overridevirtual

Implements by::typeProvidable.


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