로딩중...
검색중...
일치하는것 없음
by::stela 클래스 참조

Core AST node for stela configuration language 더 자세히 ...

#include <stela.hpp>

by::stela에 대한 상속 다이어그램 :
by::instance by::typeProvidable by::clonable by::nulStela by::valStela by::verStela

Public 멤버 함수

 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="")
 
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
 Converts the stela object to a boolean, indicating its existence.
 
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 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 & 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
 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).
 
- by::instance(으)로부터 상속된 Public 멤버 함수
 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
 Checks if this instance is allocated on the heap.
 
const lifegetBindTag () const
 Returns a pointer to the associated life object for reference counting.
 
- by::typeProvidable(으)로부터 상속된 Public 멤버 함수
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)
 Safe cast to target type using type hierarchy information
 
const void * cast (const type &to) const BY_CONST_FUNC(cast(to)) void *cast(const type *it) BY_SIDE_FUNC(cast)
 
- by::clonable(으)로부터 상속된 Public 멤버 함수
virtual me * clone () const =0
 
virtual me * cloneDeep () const
 
virtual void onCloneDeep (const me &from)
 

Public 속성

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)
 

추가로 상속된 멤버들

- by::instance(으)로부터 상속된 정적 Public 멤버 함수
static vaultgetVault ()
 
- by::instance(으)로부터 상속된 Protected 멤버 함수
nbool _setId (id new1)
 
- by::instance(으)로부터 상속된 정적 Protected 멤버 함수
static instancer_getMgr ()
 

상세한 설명

Core AST node for stela configuration language

The fundamental unit class of the stela module, providing the following features:

  1. Provides type conversion APIs like asInt(), asChar() to int, char, string, bool
  2. When value exists, valStela APIs execute, converting to appropriate types. For example, verStela(22).asStr() returns std::string("22")
  3. When no value exists, represented as nulStela. Any type conversion attempt returns default value (empty string or 0)
  4. Provides version type with major, minor, patch versions, supporting range expressions
  5. stela can have other stela objects as children. Each stela has a name, so children are searched by name or traversed. If no child matches the name, nulStela is returned

Similar to node in the core module.

Usage

Example demonstrates typical usage:

const std::string script = R"SRC(
def man
dummy := 5
name := "dark souls"
ver := 1.0.8
)SRC";
stela& man = root->sub("man");
stela& name = man["name"];
ASSERT_STREQ(name.asStr().c_str(), "dark souls");
verStela& ver = man["ver"].cast<verStela>() OR_ASSERT(ver);
ASSERT_STREQ(ver.asStr().c_str(), "1.0.8");
ASSERT_EQ(ver.asMajor(), 1);
ASSERT_EQ(ver.asMinor(), 0);
ASSERT_EQ(ver.asFix(), 8);
Core AST node for stela configuration language
Definition stela.hpp:49
virtual const std::string & asStr() const
Converts the stela object's value to a string.
Parser for stela configuration language
Definition stelaParser.hpp:39
tstr< stela > parse(const std::string &codes)
Parses the given string of stela code.
const std::string & asStr() const override
Converts the stela object's value to a string.
Version stela node for semantic version handling
Definition verStela.hpp:17
Rich logging support with polymorphic type conversion
Definition richLog.hpp:34

생성자 & 소멸자 문서화

◆ 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.

매개변수
subsAn initializer list of stela pointers to be added as children.
nameThe name of this stela object.

멤버 함수 문서화

◆ add() [1/3]

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

Adds a stela object as a child.

매개변수
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.

매개변수
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.

매개변수
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.

반환값
The boolean representation of the stela object's value.

by::nulStela, 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.

반환값
The character representation of the stela object's value.

by::nulStela, 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.

반환값
The integer representation of the stela object's value.

by::nulStela, 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.

반환값
A const reference to the string representation of the stela object's value.

by::nulStela, by::valStela에서 재구현되었습니다.

◆ getType()

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

by::typeProvidable를 구현.

◆ isExist()

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

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

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

by::nulStela에서 재구현되었습니다.

◆ operator nbool()

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

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

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

이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: