19 const _nout nchar* getPriorTypeName(priorType type);
33 const T* operator->()
const BY_CONST_FUNC(operator->())
34 const T&
operator*()
const BY_CONST_FUNC(
operator*())
38 const T*
get() const BY_CONST_FUNC(
get())
42 nbool isSamePrecedence(const me& rhs) const;
60 template <
typename... Es>
tpriorities(
const Es&... elems) {
61 static_assert(areBaseOfT<T, Es...>::value,
"some of type of args are not based on type 'T'");
62 this->add({(T&) elems...});
66 nbool isMatched()
const;
70 const T*
get() const BY_CONST_FUNC(
get())
Base class for all managed instances in memlite system.
Definition: instance.hpp:20
Base class for all AST nodes in byeol language.
Definition: node.hpp:30
Collection of prioritized elements.
Definition: tpriorities.hpp:53
const T * get() const BY_CONST_FUNC(get()) priorType getPriorType() const
Strong reference smart pointer with strict type checking.
Definition: tstr.hpp:13
Base class for runtime type information in byeol language.
Definition: type.hpp:12
Priority wrapper for type matching.
Definition: tpriorities.hpp:24
const T * get() const BY_CONST_FUNC(get()) nbool isSamePrecedence(const me &rhs) const
precedence is more detail concept of priority. it considers the owner of them are equal above priorit...
priorType
the lower value, the higher priority.
Definition: tpriorities.hpp:8
@ NO_MATCH
Definition: tpriorities.hpp:16
@ NUMERIC_MATCH
lv0: exact match.
Definition: tpriorities.hpp:10
@ IMPLICIT_MATCH
Definition: tpriorities.hpp:13