VisionCpp  0.0.1
Classes | Namespaces | Typedefs | Functions
tuple.hpp File Reference

Tuples standard layout implementation. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  visioncpp::internal::tools::tuple::EnableIf< bool, T >
 The EnableIf struct is used to statically define type based on the condition. More...
 
struct  visioncpp::internal::tools::tuple::EnableIf< true, T >
 Specialisation of the EnableIf when the condition is matched. More...
 
struct  visioncpp::internal::tools::tuple::Tuple< Ts >
 The tuple is a fixed-size collection of heterogeneous values. More...
 
struct  visioncpp::internal::tools::tuple::Tuple< T, Ts... >
 Specialisation of the Tuple class when it has at least one element. More...
 
struct  visioncpp::internal::tools::tuple::ElemTypeHolder< 0, Tuple< T, Ts... > >
 Specialisation of the ElemTypeHolder class when the number of the elements inside the tuple is 1. More...
 
struct  visioncpp::internal::tools::tuple::ElemTypeHolder< k, Tuple< T, Ts... > >
 Specialisation of the ElemTypeHolder class when the number of the elements inside the tuple is bigger than 1. More...
 
struct  visioncpp::internal::tools::tuple::Index_list< Is >
 Creates a list of indices created for the elements in the tuple. More...
 
struct  visioncpp::internal::tools::tuple::RangeBuilder< MIN, MIN, Is... >
 Specialisation of the RangeBuilder when the MIN==MAX. More...
 
struct  visioncpp::internal::tools::tuple::RangeBuilder< MIN, N, Is >
 Specialisation of the RangeBuilder class when N!=MIN. More...
 

Namespaces

 visioncpp
 VisionCpp namespace.
 
 visioncpp::internal
 Internal implementations.
 
 visioncpp::internal::tools
 Internal tools scope.
 
 visioncpp::internal::tools::tuple
 Contains standard layout tuple implementation.
 

Typedefs

template<size_t MIN, size_t MAX>
using visioncpp::internal::tools::tuple::Index_range = typename RangeBuilder< MIN, MAX >::type
 IndexRange that returns a index from range of [MIN, MAX). More...
 

Functions

template<size_t k, class... Ts>
EnableIf< k==0, typename ElemTypeHolder< 0, Tuple< Ts... > >::type & >::type visioncpp::internal::tools::tuple::get (Tuple< Ts... > &t)
 get More...
 
template<size_t k, class T , class... Ts>
EnableIf< k !=0, typename ElemTypeHolder< k, Tuple< T, Ts... > >::type & >::type visioncpp::internal::tools::tuple::get (Tuple< T, Ts... > &t)
 get More...
 
template<size_t k, class... Ts>
EnableIf< k==0, const typename ElemTypeHolder< 0, Tuple< Ts... > >::type & >::type visioncpp::internal::tools::tuple::get (const Tuple< Ts... > &t)
 get More...
 
template<size_t k, class T , class... Ts>
EnableIf< k !=0, const typename ElemTypeHolder< k, Tuple< T, Ts... > >::type & >::type visioncpp::internal::tools::tuple::get (const Tuple< T, Ts... > &t)
 get More...
 
template<typename... Args>
Tuple< Args... > visioncpp::internal::tools::tuple::make_tuple (Args... args)
 make_tuple More...
 
template<typename... Args>
static constexpr size_t visioncpp::internal::tools::tuple::size (Tuple< Args... > &)
 size More...
 
template<typename... Args, typename T , size_t... I>
Tuple< Args..., T > visioncpp::internal::tools::tuple::append_impl (internal::tools::tuple::Tuple< Args... > t, T a, internal::tools::tuple::Index_list< I... >)
 append_impl More...
 
template<typename... Args, typename T >
Tuple< Args..., T > visioncpp::internal::tools::tuple::append (Tuple< Args... > t, T a)
 append More...
 
template<typename... Args1, typename... Args2, size_t... I1, size_t... I2>
Tuple< Args1..., Args2... > visioncpp::internal::tools::tuple::append_impl (internal::tools::tuple::Tuple< Args1... > t1, internal::tools::tuple::Tuple< Args2... > t2, internal::tools::tuple::Index_list< I1... >, internal::tools::tuple::Index_list< I2... >)
 append_impl More...
 
template<typename... Args1, typename... Args2>
Tuple< Args1..., Args2... > visioncpp::internal::tools::tuple::append (internal::tools::tuple::Tuple< Args1... > t1, internal::tools::tuple::Tuple< Args2... > t2)
 append More...
 

Detailed Description

Tuples standard layout implementation.

http://en.cppreference.com/w/cpp/utility/tuple

Definition in file tuple.hpp.