All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Attributes | List of all members
my::MyTuple< Data > Class Template Reference

Public Types

template<std::size_t I>
using element_type = std::tuple_element_t< I, tuple_t >
 

Public Member Functions

 MyTuple (Data &&...data)
 
 MyTuple (tuple_t &&data)
 
template<std::size_t I>
auto get () -> decltype(auto)
 
template<std::size_t I>
auto get () const -> decltype(auto)
 
template<typename T >
auto get () -> decltype(auto)
 
template<typename T >
auto get () const -> decltype(auto)
 

Static Public Member Functions

static constexpr std::size_t tuple_size ()
 

Private Types

using tuple_t = std::tuple< Data...>
 

Private Attributes

tuple_t data
 

Detailed Description

template<typename... Data>
class my::MyTuple< Data >

Definition at line 279 of file TupleLookupByTag_test.cc.

Member Typedef Documentation

template<typename... Data>
template<std::size_t I>
using my::MyTuple< Data >::element_type = std::tuple_element_t<I, tuple_t>

Definition at line 286 of file TupleLookupByTag_test.cc.

template<typename... Data>
using my::MyTuple< Data >::tuple_t = std::tuple<Data...>
private

Definition at line 280 of file TupleLookupByTag_test.cc.

Constructor & Destructor Documentation

template<typename... Data>
my::MyTuple< Data >::MyTuple ( Data &&...  data)
inline

Definition at line 288 of file TupleLookupByTag_test.cc.

288 : data(std::forward<Data>(data)...) {}
template<typename... Data>
my::MyTuple< Data >::MyTuple ( tuple_t &&  data)
inline

Definition at line 289 of file TupleLookupByTag_test.cc.

289 : data(std::move(data)) {}

Member Function Documentation

template<typename... Data>
template<std::size_t I>
auto my::MyTuple< Data >::get ( ) -> decltype(auto)
inline

Definition at line 292 of file TupleLookupByTag_test.cc.

292 { return std::get<I>(data); }
template<typename... Data>
template<std::size_t I>
auto my::MyTuple< Data >::get ( ) const -> decltype(auto)
inline

Definition at line 295 of file TupleLookupByTag_test.cc.

295 { return std::get<I>(data); }
template<typename... Data>
template<typename T >
auto my::MyTuple< Data >::get ( ) -> decltype(auto)
inline

Definition at line 298 of file TupleLookupByTag_test.cc.

298 { return std::get<T>(data); }
template<typename... Data>
template<typename T >
auto my::MyTuple< Data >::get ( ) const -> decltype(auto)
inline

Definition at line 301 of file TupleLookupByTag_test.cc.

301 { return std::get<T>(data); }
template<typename... Data>
static constexpr std::size_t my::MyTuple< Data >::tuple_size ( )
inlinestatic

Definition at line 304 of file TupleLookupByTag_test.cc.

305  { return std::tuple_size<tuple_t>(); }

Member Data Documentation

template<typename... Data>
tuple_t my::MyTuple< Data >::data
private

Definition at line 281 of file TupleLookupByTag_test.cc.


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