Shaka Player Embedded
Classes | Public Member Functions | List of all members
shaka::impl::union_< T, Rest > Class Template Referencefinal

#include <variant.h>

Public Member Functions

 union_ ()
 
 ~union_ ()
 
 union_ (const union_ &)=delete
 
union_operator= (const union_ &)=delete
 
 union_ (union_ &&)=delete
 
union_operator= (union_ &&)=delete
 
void copy (const union_ &other, size_t i)
 
void move (union_ &&other, size_t i)
 
template<size_t I>
get_const_reference_at_t< I, T, Rest... > get () const
 
template<size_t I>
get_type_at_t< I, T, Rest... > & get ()
 
template<size_t I, typename... U>
void emplace (U &&... args)
 
void reset (size_t i)
 
bool equals (const union_ &other, size_t i) const
 

Detailed Description

template<typename T, typename... Rest>
class shaka::impl::union_< T, Rest >

Represents a union of the given types. This doesn't track which type is contained and assumes the caller will. The caller needs to explicitly call emplace() and reset() to set and clear the value respectively.

Definition at line 120 of file variant.h.

Constructor & Destructor Documentation

§ union_() [1/3]

template<typename T, typename... Rest>
shaka::impl::union_< T, Rest >::union_ ( )
inline

Definition at line 122 of file variant.h.

§ ~union_()

template<typename T, typename... Rest>
shaka::impl::union_< T, Rest >::~union_ ( )
inline

Definition at line 123 of file variant.h.

§ union_() [2/3]

template<typename T, typename... Rest>
shaka::impl::union_< T, Rest >::union_ ( const union_< T, Rest > &  )
delete

§ union_() [3/3]

template<typename T, typename... Rest>
shaka::impl::union_< T, Rest >::union_ ( union_< T, Rest > &&  )
delete

Member Function Documentation

§ copy()

template<typename T, typename... Rest>
void shaka::impl::union_< T, Rest >::copy ( const union_< T, Rest > &  other,
size_t  i 
)
inline

Definition at line 127 of file variant.h.

§ emplace()

template<typename T, typename... Rest>
template<size_t I, typename... U>
void shaka::impl::union_< T, Rest >::emplace ( U &&...  args)
inline

Definition at line 157 of file variant.h.

§ equals()

template<typename T, typename... Rest>
bool shaka::impl::union_< T, Rest >::equals ( const union_< T, Rest > &  other,
size_t  i 
) const
inline

Definition at line 170 of file variant.h.

§ get() [1/2]

template<typename T, typename... Rest>
template<size_t I>
get_const_reference_at_t<I, T, Rest...> shaka::impl::union_< T, Rest >::get ( ) const
inline

Definition at line 146 of file variant.h.

§ get() [2/2]

template<typename T, typename... Rest>
template<size_t I>
get_type_at_t<I, T, Rest...>& shaka::impl::union_< T, Rest >::get ( )
inline

Definition at line 151 of file variant.h.

§ move()

template<typename T, typename... Rest>
void shaka::impl::union_< T, Rest >::move ( union_< T, Rest > &&  other,
size_t  i 
)
inline

Definition at line 136 of file variant.h.

§ operator=() [1/2]

template<typename T, typename... Rest>
union_& shaka::impl::union_< T, Rest >::operator= ( union_< T, Rest > &&  )
delete

§ operator=() [2/2]

template<typename T, typename... Rest>
union_& shaka::impl::union_< T, Rest >::operator= ( const union_< T, Rest > &  )
delete

§ reset()

template<typename T, typename... Rest>
void shaka::impl::union_< T, Rest >::reset ( size_t  i)
inline

Definition at line 161 of file variant.h.

Member Data Documentation

§ rest_

template<typename T, typename... Rest>
union_<Rest...> shaka::impl::union_< T, Rest >::rest_

Definition at line 215 of file variant.h.

§ value_

template<typename T, typename... Rest>
T shaka::impl::union_< T, Rest >::value_

Definition at line 214 of file variant.h.


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