SMTK  @SMTK_VERSION@
Simulation Modeling Tool Kit
Classes | Namespaces | Functions
TupleTraits.h File Reference
#include <cstddef>
#include <tuple>
Include dependency graph for TupleTraits.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  smtk::detail::tuple_if_unique< T, Tuple >
 If T is not in Tuple, return std::tuple<T>. More...
 
struct  smtk::detail::tuple_if_unique< T, std::tuple<> >
 
struct  smtk::detail::tuple_if_unique< T, std::tuple< U, Ts... > >
 
struct  smtk::detail::tuple_if_unique< T, std::tuple< T, Ts... > >
 
struct  smtk::detail::tuple_if_not_base< T, Tuple >
 If T is not a base of any types in Tuple, return std::tuple<T>. More...
 
struct  smtk::detail::tuple_if_not_base< T, std::tuple<> >
 
struct  smtk::detail::tuple_if_not_base< T, std::tuple< U, Ts... > >
 
struct  smtk::detail::remove_bases_from_tuple_lr< T, Args >
 Given a tuple, starting with the first parameter and moving to the last, remove the parameter from the tuple if it is a base of any of the parameters to the right. More...
 
struct  smtk::detail::remove_bases_from_tuple_lr< std::tuple<> >
 
struct  smtk::detail::remove_bases_from_tuple_lr< std::tuple< T > >
 
struct  smtk::detail::remove_bases_from_tuple_lr< std::tuple< T, Args... > >
 
struct  smtk::detail::untuple< T >
 If T is a tuple containing a single type, return the type it contians. More...
 
struct  smtk::detail::untuple< std::tuple< T > >
 
struct  smtk::flatten_tuple< T >
 Takes a tuple of tuples and types and returns a tuple of the tuple contents and the plain types. More...
 
struct  smtk::flatten_tuple< std::tuple<> >
 
struct  smtk::flatten_tuple< std::tuple< T, Args... > >
 
struct  smtk::flatten_tuple< std::tuple< std::tuple< TupleArgs... >, Args... > >
 
struct  smtk::unique_tuple< T, Args >
 Takes a tuple of potentially duplicate types and returns a tuple with the duplicate types removed. More...
 
struct  smtk::unique_tuple< std::tuple<> >
 
struct  smtk::unique_tuple< std::tuple< T > >
 
struct  smtk::unique_tuple< std::tuple< T, Args... > >
 
struct  smtk::reverse_tuple< T >
 Takes a tuple and reverses its arguments. More...
 
struct  smtk::reverse_tuple< std::tuple< T > >
 
struct  smtk::reverse_tuple< std::tuple< T, Args... > >
 
struct  smtk::recursive< X, T >
 Takes a template class and a tuple and returns a tuple of elements transformed by the template class, recursing through nested tuples if necessary. More...
 
struct  smtk::recursive< X, std::tuple< Args... > >
 
struct  smtk::remove_bases_from_tuple< T >
 Takes a tuple and removes any types that are bases of any other types in the tuple. More...
 
struct  smtk::remove_from_tuple< T, Tuple >
 Takes a type and a tuple of types and returns a tuple with all of the original types sans the input type. More...
 
struct  smtk::remove_from_tuple< T, std::tuple< T, Args... > >
 
struct  smtk::remove_from_tuple< T, std::tuple< X, Args... > >
 
struct  smtk::remove_from_tuple< T, std::tuple<> >
 
struct  smtk::tuple_index< T, Tuple >
 Takes a type and a tuple of types and returns the index of the first instance of that type in the tuple. More...
 
struct  smtk::tuple_index< T, std::tuple< T, Types... > >
 
struct  smtk::tuple_index< T, std::tuple< U, Types... > >
 
struct  smtk::tuple_contains< T, Tuple >
 Takes a type and a tuple of types and returns a bool indicating whether or not the type is in the tuple. More...
 
struct  smtk::tuple_contains< T, std::tuple<> >
 
struct  smtk::tuple_contains< T, std::tuple< U, Ts... > >
 
struct  smtk::tuple_contains< T, std::tuple< T, Ts... > >
 
struct  smtk::identity< T >
 Embeds a type in another class so its type information can be passed as a parameter. More...
 
struct  smtk::sequence<... >
 
struct  smtk::index_sequence< N, S >
 
struct  smtk::index_sequence< 0, S... >
 
struct  smtk::detail::tuple_reduce_ii< I, RI, Reducer, Tuple >
 
struct  smtk::detail::tuple_reduce_ii< 0, RI, Reducer, Tuple >
 
struct  smtk::detail::tuple_reduce_ii< I, RI, Reducer, Tuple >
 
struct  smtk::tuple_reduce< Reducer, Tuple, Start >
 A reduce operation for tuples of typenames. More...
 

Namespaces

 smtk
 The main namespace for the Simulation Modeling Tool Kit (SMTK).
 

Functions

template<typename Functor , size_t I = 0, typename... Ts>
std::enable_if< I==sizeof...(Ts), void >::type smtk::apply (Functor &f, std::tuple< Ts... > tup)
 Apply a functor to each element of a tuple. More...
 
template<typename Functor , size_t I = 0, typename... Ts>
std::enable_if<(I< sizeof...(Ts)), void >::type smtk::apply (Functor &f, std::tuple< Ts... > tup)
 
template<typename Tuple , std::size_t I = 0, typename Functor >
std::enable_if< I==std::tuple_size< Tuple >::value, void >::type smtk::tuple_evaluate (Functor &f)
 Invoke a Functor's evaluate() method on each type specified in a tuple. More...
 
template<typename Tuple , std::size_t I = 0, typename Functor >
std::enable_if<(I< std::tuple_size< Tuple >::value), void >::type smtk::tuple_evaluate (Functor &f)
 

Detailed Description

Tuple convenience functions