Refureku v2.2.0
C++17 runtime reflection library.
rfk::NonTypeTemplateArgument Class Reference
Inheritance diagram for rfk::NonTypeTemplateArgument:
rfk::TemplateArgument

Public Member Functions

template<typename T >
 NonTypeTemplateArgument (T const &value) noexcept
 
REFUREKU_API NonTypeTemplateArgument (Archetype const *valueArchetype, void const *valuePtr) noexcept
 
RFK_NODISCARD REFUREKU_API Archetype const * getArchetype () const noexcept
 Get the archetype of the argument. More...
 
template<typename T >
RFK_NODISCARD T const & getValue () const noexcept
 Get the value of the non-type template argument. If the provided type is not the original type of the non-type template argument, the behaviour is undefined. More...
 
RFK_NODISCARD REFUREKU_API void const * getValuePtr () const noexcept
 Get a pointer to the argument value. More...
 
RFK_NODISCARD REFUREKU_API bool operator== (NonTypeTemplateArgument const &other) const noexcept
 Check whether 2 NonTypeTemplateArgument instances are equal or not. More...
 
RFK_NODISCARD REFUREKU_API bool operator!= (NonTypeTemplateArgument const &other) const noexcept
 
- Public Member Functions inherited from rfk::TemplateArgument
 TemplateArgument (TemplateArgument const &)=delete
 
 TemplateArgument (TemplateArgument &&)=delete
 
RFK_NODISCARD REFUREKU_API ETemplateParameterKind getKind () const noexcept
 Get the kind of template parameter this argument is based on. More...
 
RFK_NODISCARD REFUREKU_API bool operator== (TemplateArgument const &other) const noexcept
 Check whether 2 TemplateArgument instances are equal or not. More...
 
RFK_NODISCARD REFUREKU_API bool operator!= (TemplateArgument const &other) const noexcept
 

Additional Inherited Members

- Protected Member Functions inherited from rfk::TemplateArgument
REFUREKU_INTERNAL TemplateArgument (TemplateArgumentImpl *implementation) noexcept
 

Member Function Documentation

◆ getArchetype()

RFK_NODISCARD REFUREKU_API Archetype const * rfk::NonTypeTemplateArgument::getArchetype ( ) const
noexcept

Get the archetype of the argument.

Returns
The archetype of the argument.

◆ getValue()

template<typename T >
RFK_NODISCARD T const & rfk::NonTypeTemplateArgument::getValue ( ) const
noexcept

Get the value of the non-type template argument. If the provided type is not the original type of the non-type template argument, the behaviour is undefined.

Template Parameters
Typeof the non-type argument value.
Returns
The argument value.

◆ getValuePtr()

RFK_NODISCARD REFUREKU_API void const * rfk::NonTypeTemplateArgument::getValuePtr ( ) const
noexcept

Get a pointer to the argument value.

Returns
A pointer to the argument value.

◆ operator==()

RFK_NODISCARD REFUREKU_API bool rfk::NonTypeTemplateArgument::operator== ( NonTypeTemplateArgument const &  other) const
noexcept

Check whether 2 NonTypeTemplateArgument instances are equal or not.

Parameters
otherThe NonTypeTemplateArgument to compare to.
Returns
true if the 2 type template arguments have the same archetype, and values. Returns false if the bound parameter archetype is nullptr, since the equality can't be guaranteed.

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