Kagome
Polkadot Runtime Engine in C++17
kagome::Tagged< T, Tag, Base > Class Template Reference

#include <tagged.hpp>

Inheritance diagram for kagome::Tagged< T, Tag, Base >:
Collaboration diagram for kagome::Tagged< T, Tag, Base >:

Public Types

typedef Tag tag
 

Public Member Functions

template<typename... Args>
 Tagged (Args &&...args)
 
 Tagged (T &&value) noexcept(not std::is_lvalue_reference_v< decltype(value)>)
 
Taggedoperator= (T &&value) noexcept(not std::is_lvalue_reference_v< decltype(value)>)
 
template<typename Out >
 operator Out ()
 

Friends

friend::scale::ScaleEncoderStream & operator<< (::scale::ScaleEncoderStream &s, const Tagged< T, Tag > &tagged)
 
friend::scale::ScaleDecoderStream & operator>> (::scale::ScaleDecoderStream &s, Tagged< T, Tag > &tagged)
 

Detailed Description

template<typename T, typename Tag, typename Base = std::conditional_t<std::is_scalar_v<T>, Wrapper<T>, T>>
class kagome::Tagged< T, Tag, Base >

Definition at line 29 of file tagged.hpp.

Member Typedef Documentation

template<typename T, typename Tag, typename Base = std::conditional_t<std::is_scalar_v<T>, Wrapper<T>, T>>
typedef Tag kagome::Tagged< T, Tag, Base >::tag

Definition at line 31 of file tagged.hpp.

Constructor & Destructor Documentation

template<typename T, typename Tag, typename Base = std::conditional_t<std::is_scalar_v<T>, Wrapper<T>, T>>
template<typename... Args>
kagome::Tagged< T, Tag, Base >::Tagged ( Args &&...  args)
inlineexplicit

Definition at line 34 of file tagged.hpp.

template<typename T, typename Tag, typename Base = std::conditional_t<std::is_scalar_v<T>, Wrapper<T>, T>>
kagome::Tagged< T, Tag, Base >::Tagged ( T &&  value)
inlinenoexcept

Definition at line 36 of file tagged.hpp.

Member Function Documentation

template<typename T, typename Tag, typename Base = std::conditional_t<std::is_scalar_v<T>, Wrapper<T>, T>>
template<typename Out >
kagome::Tagged< T, Tag, Base >::operator Out ( )
inlineexplicit

Definition at line 50 of file tagged.hpp.

template<typename T, typename Tag, typename Base = std::conditional_t<std::is_scalar_v<T>, Wrapper<T>, T>>
Tagged& kagome::Tagged< T, Tag, Base >::operator= ( T &&  value)
inlinenoexcept

Definition at line 39 of file tagged.hpp.

Friends And Related Function Documentation

template<typename T, typename Tag, typename Base = std::conditional_t<std::is_scalar_v<T>, Wrapper<T>, T>>
::scale::ScaleEncoderStream& operator<< ( ::scale::ScaleEncoderStream &  s,
const Tagged< T, Tag > &  tagged 
)
friend

Definition at line 59 of file tagged.hpp.

template<typename T, typename Tag, typename Base = std::conditional_t<std::is_scalar_v<T>, Wrapper<T>, T>>
::scale::ScaleDecoderStream& operator>> ( ::scale::ScaleDecoderStream &  s,
Tagged< T, Tag > &  tagged 
)
friend

Definition at line 68 of file tagged.hpp.


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