plugify 1.0.0.0
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
plg::detail::union_node< IsLeaf, A, B > Struct Template Reference

Public Member Functions

template<std::size_t Index, class... Args>
constexpr union_node (in_place_index_t< Index >, Args &&... args)
 
template<class... Args>
constexpr union_node (in_place_index_t< 0 >, Args &&... args)
 
template<class... Args>
constexpr union_node (in_place_index_t< 1 >, Args &&... args)
 
constexpr union_node (dummy_type)
 
template<union_index_t Index>
constexpr autoget ()
 
template<union_index_t Index>
constexpr const autoget () const
 
constexpr union_node (const union_node &)
 
constexpr union_node (union_node &&) noexcept
 
constexpr union_nodeoperator= (const union_node &)
 
constexpr union_nodeoperator= (union_node &&) noexcept
 

Public Attributes

union { 
 
   A   a 
 
   B   b 
 
};  
 

Static Public Attributes

static constexpr auto elem_size = node_trait<IsLeaf>::template elem_size<A, B>
 

Detailed Description

template<bool IsLeaf, class A, class B>
struct plg::detail::union_node< IsLeaf, A, B >

Definition at line 239 of file variant.hpp.

Constructor & Destructor Documentation

◆ union_node() [1/6]

template<bool IsLeaf, class A , class B >
template<std::size_t Index, class... Args>
constexpr plg::detail::union_node< IsLeaf, A, B >::union_node ( in_place_index_t< Index ,
Args &&...  args 
)
inlineexplicitconstexpr

Definition at line 253 of file variant.hpp.

◆ union_node() [2/6]

template<bool IsLeaf, class A , class B >
template<class... Args>
constexpr plg::detail::union_node< IsLeaf, A, B >::union_node ( in_place_index_t< 0 >  ,
Args &&...  args 
)
inlineexplicitconstexpr

Definition at line 269 of file variant.hpp.

◆ union_node() [3/6]

template<bool IsLeaf, class A , class B >
template<class... Args>
constexpr plg::detail::union_node< IsLeaf, A, B >::union_node ( in_place_index_t< 1 >  ,
Args &&...  args 
)
inlineexplicitconstexpr

Definition at line 277 of file variant.hpp.

◆ union_node() [4/6]

template<bool IsLeaf, class A , class B >
constexpr plg::detail::union_node< IsLeaf, A, B >::union_node ( dummy_type  )
inlineexplicitconstexpr

Definition at line 281 of file variant.hpp.

◆ union_node() [5/6]

template<bool IsLeaf, class A , class B >
constexpr plg::detail::union_node< IsLeaf, A, B >::union_node ( const union_node< IsLeaf, A, B > &  )
inlineconstexpr

Definition at line 308 of file variant.hpp.

◆ union_node() [6/6]

template<bool IsLeaf, class A , class B >
constexpr plg::detail::union_node< IsLeaf, A, B >::union_node ( union_node< IsLeaf, A, B > &&  )
inlineconstexprnoexcept

Definition at line 308 of file variant.hpp.

◆ ~union_node()

template<bool IsLeaf, class A , class B >
plg::detail::union_node< IsLeaf, A, B >::~union_node ( )
inline

Definition at line 308 of file variant.hpp.

Member Function Documentation

◆ get() [1/2]

template<bool IsLeaf, class A , class B >
template<union_index_t Index>
constexpr auto & plg::detail::union_node< IsLeaf, A, B >::get ( )
inlineconstexpr

Definition at line 289 of file variant.hpp.

◆ get() [2/2]

template<bool IsLeaf, class A , class B >
template<union_index_t Index>
constexpr const auto & plg::detail::union_node< IsLeaf, A, B >::get ( ) const
inlineconstexpr

Definition at line 304 of file variant.hpp.

◆ operator=() [1/2]

template<bool IsLeaf, class A , class B >
constexpr union_node & plg::detail::union_node< IsLeaf, A, B >::operator= ( const union_node< IsLeaf, A, B > &  )
inlineconstexpr

Definition at line 308 of file variant.hpp.

◆ operator=() [2/2]

template<bool IsLeaf, class A , class B >
constexpr union_node & plg::detail::union_node< IsLeaf, A, B >::operator= ( union_node< IsLeaf, A, B > &&  )
inlineconstexprnoexcept

Definition at line 308 of file variant.hpp.

Member Data Documentation

◆ a

template<bool IsLeaf, class A , class B >
A plg::detail::union_node< IsLeaf, A, B >::a

Definition at line 241 of file variant.hpp.

◆ b

template<bool IsLeaf, class A , class B >
B plg::detail::union_node< IsLeaf, A, B >::b

Definition at line 242 of file variant.hpp.

◆ elem_size

template<bool IsLeaf, class A , class B >
constexpr auto plg::detail::union_node< IsLeaf, A, B >::elem_size = node_trait<IsLeaf>::template elem_size<A, B>
staticconstexpr

Definition at line 245 of file variant.hpp.


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