by::tprior< T > Struct Template Reference

Priority wrapper for type matching. More...

#include <tpriorities.hpp>

Inheritance diagram for by::tprior< T >:
by::instance by::typeProvidable by::clonable

Public Member Functions

 tprior (const node &newElem, priorType type, ncnt lv)
 
T * operator-> ()
 
T & operator* ()
 
const T * operator-> () const BY_CONST_FUNC(operator->()) const T &operator*() const BY_CONST_FUNC(operator*()) public:T *get()
 
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 priority.
 
- Public Member Functions inherited from by::instance
 instance (id newId)
 
 instance (const me &rhs)
 
me & operator= (const me &rhs)=default
 
void * operator new (size_t sz) noexcept
 
void operator delete (void *pt, size_t sz) noexcept
 
virtual id getId () const
 
virtual nbool isHeap () const
 
const bindTaggetBindTag () const
 
- Public Member Functions inherited from by::typeProvidable
nbool operator== (const me &rhs) const
 
nbool operator!= (const me &rhs) const
 
virtual const typegetType () const =0
 
nbool isSub (const type &it) const
 
nbool isSub (const type *it) const BY_SIDE_FUNC(isSub)
 
nbool isSub (const me &it) const
 
nbool isSub (const me *it) const BY_SIDE_FUNC(isSub)
 
nbool isSuper (const type &it) const
 
nbool isSuper (const type *it) const BY_SIDE_FUNC(isSuper)
 
nbool isSuper (const me &it) const
 
nbool isSuper (const me *it) const BY_SIDE_FUNC(isSuper)
 
template<typename T >
nint isSub () const
 
template<typename T >
nint isSuper () const
 
template<typename T >
T * cast ()
 
template<typename T >
const T * cast () const BY_CONST_FUNC(cast< T >()) virtual void *cast(const type &to)
 
const void * cast (const type &to) const BY_CONST_FUNC(cast(to)) void *cast(const type *it) BY_SIDE_FUNC(cast)
 
- Public Member Functions inherited from by::clonable
virtual me * clone () const =0
 
virtual me * cloneDeep () const
 
virtual void onCloneDeep (const me &from)
 

Public Attributes

tstr< T > elem
 
priorType type
 
ncnt lv
 

Additional Inherited Members

- Protected Member Functions inherited from by::instance
nbool _setId (id new1)
 
- Static Protected Member Functions inherited from by::instance
static instancer_getMgr ()
 

Detailed Description

template<typename T>
struct by::tprior< T >

Priority wrapper for type matching.

Template that wraps elements with priority information for overload resolution.


The documentation for this struct was generated from the following file: