Loading...
Searching...
No Matches
by::stela Class Reference
Inheritance diagram for by::stela:
by::instance by::typeProvidable by::clonable by::arrStela by::defStela by::nulStela by::valStela by::rootStela by::boolStela by::numStela by::strStela by::verStela

Public Member Functions

 stela (std::initializer_list< me * > subs, const std::string &name="")
 Constructs a stela object with an optional name and an initializer list of child stela objects.
 
 stela (const me &rhs, const std::string &name="")
 
 stela (const std::string &name="")
 
meoperator[] (const std::string &name)
 
const meoperator[] (const std::string &name) const BY_CONST_FUNC(operator[](name))
 
meoperator[] (const nchar *name)
 
const meoperator[] (const nchar *name) const BY_CONST_FUNC(operator[](name))
 
 operator nbool () const
 Converts the stela object to a boolean, indicating its existence.
 
mesub (const std::string &name)
 
mesub (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 stela &it)
 Adds a stela object as a child.
 
void add (const stela *it) BY_SIDE_FUNC(add)
 Adds a stela object as a child.
 
void add (std::initializer_list< stela * > subs)
 Adds multiple stela objects from an initializer list as children.
 
void del (const stela &it)
 
void del (const stela *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 & getPrefix () const
 The comment lines sitting above this node, # markers included.
 
void setPrefix (const std::string &newPrefix)
 
void setPrefix (const nchar *newPrefix)
 
const std::string & getPostfix () const
 The comment after this node on the same line, # marker included.
 
void setPostfix (const std::string &newPostfix)
 
void setPostfix (const nchar *newPostfix)
 
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 ()
 
virtual nint asInt () const
 Converts the stela object's value to an integer.
 
virtual nchar asChar () const
 Converts the stela object's value to a character.
 
virtual const std::string & asStr () const
 Converts the stela object's value to a string.
 
virtual nbool asBool () const
 Converts the stela object's value to a boolean.
 
virtual nbool isExist () const
 Checks if the stela object is considered "existent" (i.e., not a nulStela).
 
virtual void accept (const stelaVisitInfo &i, stelaVisitor &v)
 Dispatch entry for stelaVisitor. Base implementation calls v.visit(i, *this); subclasses override via the VISIT macro.
 
- Public Member Functions inherited from by::instance
 instance (id newId)
 
 instance (const me &rhs)
 
meoperator= (const me &rhs)=default
 
voidoperator new (size_t sz) noexcept
 
void operator delete (void *pt, size_t sz) noexcept
 
virtual id getId () const
 
virtual nbool isHeap () const
 Checks if this instance is allocated on the heap.
 
const lifegetBindTag () const
 Returns a pointer to the associated life object for reference counting.
 
- Public Member Functions inherited from by::typeProvidable
nbool operator== (const me &rhs) const
 
nbool operator!= (const me &rhs) const
 
virtual const typegetType () const =0
 
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 >
Tcast ()
 
template<typename T >
const Tcast () const BY_CONST_FUNC(cast< T >()) virtual void *cast(const type &to)
 Safe cast to target type using type hierarchy information.
 
const voidcast (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 meclone () const =0
 
virtual mecloneDeep () 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

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

Constructor & Destructor Documentation

◆ stela()

by::stela::stela ( std::initializer_list< me * > subs,
const std::string & name = "" )

Constructs a stela object with an optional name and an initializer list of child stela objects.

Parameters
subsAn initializer list of stela pointers to be added as children.
nameThe name of this stela object.

Member Function Documentation

◆ add() [1/3]

void by::stela::add ( const stela & it)

Adds a stela object as a child.

Parameters
itThe stela object to add as a child.

◆ add() [2/3]

void by::stela::add ( const stela * it)

Adds a stela object as a child.

Parameters
itPointer to the stela object to add as a child.

◆ add() [3/3]

void by::stela::add ( std::initializer_list< stela * > subs)

Adds multiple stela objects from an initializer list as children.

Parameters
subsAn initializer list of stela pointers to add as children.

◆ asBool()

virtual nbool by::stela::asBool ( ) const
virtual

Converts the stela object's value to a boolean.

If the stela object has no value or is a nulStela, it returns false. If the conversion from its internal type (e.g., string) fails, an exception may be thrown.

Returns
The boolean representation of the stela object's value.

Reimplemented in by::nulStela, and by::valStela.

◆ asChar()

virtual nchar by::stela::asChar ( ) const
virtual

Converts the stela object's value to a character.

If the stela object has no value or is a nulStela, it returns a null character ('\0'). If the conversion from its internal type (e.g., string) fails, an exception may be thrown.

Returns
The character representation of the stela object's value.

Reimplemented in by::nulStela, and by::valStela.

◆ asInt()

virtual nint by::stela::asInt ( ) const
virtual

Converts the stela object's value to an integer.

If the stela object has no value or is a nulStela, it returns 0. If the conversion from its internal type (e.g., string) fails, an exception may be thrown.

Returns
The integer representation of the stela object's value.

Reimplemented in by::nulStela, and by::valStela.

◆ asStr()

virtual const std::string & by::stela::asStr ( ) const
virtual

Converts the stela object's value to a string.

If the stela object has no value or is a nulStela, it returns an empty string.

Returns
A const reference to the string representation of the stela object's value.

Reimplemented in by::nulStela, and by::valStela.

◆ getPrefix()

const std::string & by::stela::getPrefix ( ) const

The comment lines sitting above this node, # markers included.

Stored without indentation: stelaWriter re-indents them to this node's depth, so a node keeps its comment when it moves. Empty for a node that was built in code rather than parsed.

◆ isExist()

virtual nbool by::stela::isExist ( ) const
virtual

Checks if the stela object is considered "existent" (i.e., not a nulStela).

Returns
true if the stela object holds a value, false if it represents a null or non-existent entry.

Reimplemented in by::nulStela.

◆ operator nbool()

by::stela::operator nbool ( ) const
explicit

Converts the stela object to a boolean, indicating its existence.

Returns
true if the stela object is valid and exists (i.e., not a nulStela), false otherwise.

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