Loading...
Searching...
No Matches
by::arrStela Class Reference

Ordered list of elements. More...

#include <arrStela.hpp>

Inheritance diagram for by::arrStela:
by::stela by::instance by::typeProvidable by::clonable

Additional Inherited Members

- Public Member Functions inherited from 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.
 
 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)
 
- Static Public Member Functions inherited from by::instance
static vaultgetVault ()
 
- Public Attributes inherited from by::stela
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)
 
- Protected Member Functions inherited from by::instance
nbool _setId (id new1)
 
- Static Protected Member Functions inherited from by::instance
static instancer_getMgr ()
 

Detailed Description

Ordered list of elements.

A tag subtype so stelaWriter emits {a, b, c} inline instead of a def block. It adds no storage and no methods: elements are ordinary children named "0000", "0001", "0002", ... so every access goes through the plain Stela interface. Callers never need to downcast to reach an element.

Usage

stela& deps = root->sub("deps");
for(ncnt n = 0; n < deps.len(); ++n)
deps.sub(n).asStr();
Definition stela.hpp:63
Rich logging support with polymorphic type conversion.
Definition richLog.hpp:34
Remarks
Element order Elements are named "0", "1", "2", ... and come back in that order because Stela keeps its children in insertion order.

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