Skip to content

Class ae108::cpppetsc::TaggedEntity

template <class Entity, class Tag>

ClassList > ae108 > cpppetsc > TaggedEntity

A wrapper that adds a tag to a given class.

  • #include <TaggedEntity.h>

Public Types

Type Name
typedef Tag tag_type
typedef std::remove_cv_t< std::remove_reference_t< Entity > > value_type

Public Functions

Type Name
constexpr TaggedEntity (Args &&... args)
Constructs the contained value with the given arguments.
constexpr operator const value_type & () noexcept const
Automatically unwraps the contained value.
operator value_type & () noexcept
Automatically unwraps the contained value.
operator value_type && () noexcept
Automatically unwraps the contained value.
auto operator() (Args &&... args)
Calls operator() of the contained value.
constexpr auto operator() (Args &&... args) const
Calls operator() of the contained value.
constexpr const value_type & unwrap () noexcept const
Returns a const reference to the contained value.
value_type & unwrap () noexcept
Returns a reference to the contained value.
value_type && unwrap () noexcept
Returns an r-value reference to the contained value.

Public Types Documentation

typedef tag_type

using ae108::cpppetsc::TaggedEntity< Entity, Tag >::tag_type =  Tag;

typedef value_type

using ae108::cpppetsc::TaggedEntity< Entity, Tag >::value_type =  std::remove_cv_t<std::remove_reference_t<Entity> >;

Public Functions Documentation

function TaggedEntity

Constructs the contained value with the given arguments.

template<class... Args>
explicit constexpr ae108::cpppetsc::TaggedEntity::TaggedEntity (
    Args &&... args
) 


function operator const value_type &

Automatically unwraps the contained value.

constexpr ae108::cpppetsc::TaggedEntity::operator const value_type & () noexcept const


function operator value_type &

Automatically unwraps the contained value.

ae108::cpppetsc::TaggedEntity::operator value_type & () noexcept


function operator value_type &&

Automatically unwraps the contained value.

ae108::cpppetsc::TaggedEntity::operator value_type && () noexcept


function operator() [1/2]

Calls operator() of the contained value.

template<class... Args>
auto ae108::cpppetsc::TaggedEntity::operator() (
    Args &&... args
) 


function operator() [2/2]

Calls operator() of the contained value.

template<class... Args>
constexpr auto ae108::cpppetsc::TaggedEntity::operator() (
    Args &&... args
) const


function unwrap [1/3]

Returns a const reference to the contained value.

constexpr const value_type & ae108::cpppetsc::TaggedEntity::unwrap () noexcept const


function unwrap [2/3]

Returns a reference to the contained value.

value_type & ae108::cpppetsc::TaggedEntity::unwrap () noexcept


function unwrap [3/3]

Returns an r-value reference to the contained value.

value_type && ae108::cpppetsc::TaggedEntity::unwrap () noexcept



The documentation for this class was generated from the following file cpppetsc/src/include/ae108/cpppetsc/TaggedEntity.h