VisionCpp
0.0.1
|
Tuples standard layout implementation. More...
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... | |
Tuples standard layout implementation.
http://en.cppreference.com/w/cpp/utility/tuple
Definition in file tuple.hpp.