68 typedef std::map<std::string, tstr<me>> myMap;
69 typedef myMap::iterator iterator;
77 stela(std::initializer_list<me*> subs,
const std::string& name =
"");
78 stela(
const me& rhs,
const std::string& name =
"");
79 stela(
const std::string& name =
"");
82 me& operator[](
const std::string& name);
83 const me& operator[](
const std::string& name)
const BY_CONST_FUNC(
operator[](name));
84 me& operator[](
const nchar* name);
85 const me& operator[](
const nchar* name)
const BY_CONST_FUNC(
operator[](name));
90 explicit operator nbool()
const;
93 me& sub(
const std::string& name);
94 me& sub(
const std::string* it)
BY_SIDE_FUNC(it, sub(*it), *
this);
95 const me& sub(
const std::string& name)
const BY_CONST_FUNC(sub(name))
96 const me& sub(
const std::string* name)
const BY_CONST_FUNC(sub(name))
97 me& sub(
const nchar* name);
98 const me& sub(
const nchar* name)
const BY_CONST_FUNC(sub(name))
100 const me& sub(
nidx n)
const BY_CONST_FUNC(sub(
n))
102 nbool has(
const std::string& name)
const;
109 void add(
const stela& it);
119 void add(std::initializer_list<stela*> subs);
120 void del(
const stela& it);
122 void del(
const std::string& name);
124 void del(
const nchar* name);
126 const std::string& getName()
const;
127 void setName(
const std::string&
newName);
128 void setName(
const std::string* it)
BY_SIDE_FUNC(setName);
142 virtual nint asInt()
const;
149 virtual nchar asChar()
const;
155 virtual const std::string& asStr()
const;
162 virtual nbool asBool()
const;
167 virtual nbool isExist()
const;
Deferred execution utility similar to defer keyword in other languages
Definition end.hpp:36
Base class for all managed instances in memlite system
Definition instance.hpp:41
Traversal context handed to every stelaVisitor callback.
Definition stelaVisitInfo.hpp:17
Preorder visitor for the stela AST.
Definition stelaVisitor.hpp:30
Weak reference smart pointer with type-safe access
Definition tweak.hpp:16
#define BY_SIDE_FUNC(...)
Side function macros for safe pointer operations
Definition sideFunc.hpp:24