7inline type_atom::type_atom(const ::std::type_info & typeinfo) :
9 atom(c_demangle(typeinfo.name()))
11 atom(demangle(typeinfo.name()))
26inline bool type_atom::operator == (const ::atom&
atom)
const
29 return ::atom::operator ==(atom);
34inline type_atom::type_atom(const ::quantum * p)
40 set_type(atom::e_type_null);
46 auto name =
typeid(*(::quantum *) p).name();
48 ::atom::operator=(demangle(name));
55template < primitive_
object_not_type_atom OBJECT_NOT_TYPE_ATOM >
56type_atom::type_atom(OBJECT_NOT_TYPE_ATOM & objectnottypeatom)
59 auto name =
typeid(*(&(non_const < OBJECT_NOT_TYPE_ATOM > &)objectnottypeatom)).name();
61 ::atom::operator = (demangle(name));
66template <
typename BASE >
67inline type_atom::type_atom(const ::pointer<BASE>& p)
70 auto name =
typeid(*((BASE *)p.m_p)).name();
72 ::atom::operator = (demangle(name));
116inline bool type_atom::operator == (const ::quantum * p)
const
119 return operator ==(::type_atom(p));
125template <
typename TYPE >
126inline bool type_atom::operator == (const ::pointer < TYPE > & p)
const
129 return this->operator==(p.m_p);