51 class _nout stela:
public instance {
52 BY(ME(stela, instance), CLONE(me), INIT_META(stela))
54 typedef std::map<std::string, tstr<me>> myMap;
55 typedef myMap::iterator iterator;
63 stela(std::initializer_list<me*> subs,
const std::string& name =
"");
64 stela(
const me& rhs,
const std::string& name =
"");
65 stela(
const std::string& name =
"");
68 me& operator[](
const std::string& name);
69 const me& operator[](
const std::string& name)
const BY_CONST_FUNC(
operator[](name));
70 me& operator[](
const nchar* name);
71 const me& operator[](
const nchar* name)
const BY_CONST_FUNC(
operator[](name));
76 explicit operator nbool()
const;
79 me& sub(
const std::string& name);
80 me& sub(
const std::string* it)
BY_SIDE_FUNC(it, sub(*it), *
this);
81 const me& sub(
const std::string& name)
const BY_CONST_FUNC(sub(name))
82 const me& sub(
const std::string* name)
const BY_CONST_FUNC(sub(name))
83 me& sub(
const nchar* name);
84 const me& sub(
const nchar* name)
const BY_CONST_FUNC(sub(name))
86 const me& sub(nidx n)
const BY_CONST_FUNC(sub(n))
88 nbool has(
const std::string& name)
const;
89 nbool has(
const std::string* it)
const BY_SIDE_FUNC(has);
95 void add(
const stela& it);
105 void add(std::initializer_list<stela*> subs);
106 void del(
const stela& it);
108 void del(
const std::string& name);
110 void del(
const nchar* name);
112 const std::string& getName()
const;
113 void setName(
const std::string& newName);
114 void setName(
const std::string* it)
BY_SIDE_FUNC(setName);
115 void setName(
const nchar* newName);
122 const type& getType()
const override;
130 virtual nint asInt()
const;
137 virtual nchar asChar()
const;
143 virtual const std::string& asStr()
const;
150 virtual nbool asBool()
const;
155 virtual nbool isExist()
const;
#define BY_SIDE_FUNC(...)
Side function macros for safe pointer operations
Definition sideFunc.hpp:24