17 nbool operator==(
const me& rhs)
const;
18 nbool operator!=(
const me& rhs)
const;
21 virtual const type& getType()
const = 0;
25 nbool isSub(
const me& it)
const;
30 nbool isSuper(
const me& it)
const;
34 template <
typename T>
nint isSub()
const {
return getType().isSub<T>(); }
36 template <
typename T>
nint isSuper()
const {
return getType().isSuper<T>(); }
38 template <
typename T> T* cast() {
return (T*) cast(
ttype<T>::get()); }
40 template <
typename T>
const T*
cast()
const BY_CONST_FUNC(cast<T>())
Template type wrapper providing entry point for meta information
Definition ttype.hpp:37
Core class for runtime type information in byeol language
Definition type.hpp:100
Interface for objects that can provide their type information
Definition typeProvidable.hpp:13
const T * cast() const BY_CONST_FUNC(cast< T >()) virtual void *cast(const type &to)
Safe cast to target type using type hierarchy information
#define BY_SIDE_FUNC(...)
Side function macros for safe pointer operations
Definition sideFunc.hpp:24
Rich logging support with polymorphic type conversion
Definition richLog.hpp:34