astrotypes  0.0
Classes | Namespaces | Functions
TypeTraits.h File Reference
#include <type_traits>
#include <tuple>
Include dependency graph for TypeTraits.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  pss::astrotypes::logical_and< T1, T2, Ts >
 helper class to perform a logical and on all the arguments More...
 
struct  pss::astrotypes::logical_and< T, T >
 
struct  pss::astrotypes::logical_and< T1, T2 >
 
struct  pss::astrotypes::has_dimension< T, Dimension >
 return true if the Dimension is represented in the structure More...
 
struct  pss::astrotypes::has_dimension< T, T >
 
struct  pss::astrotypes::has_dimensions< T, Dimension, Dimensions >
 return true if the all Dimensions provided are represented in the structure More...
 
struct  pss::astrotypes::has_dimensions< T, Dimension >
 
struct  pss::astrotypes::has_exact_dimensions< T, Dimensions >
 return true if the Dimensions provided match exactly those of the structure T (including order) More...
 
struct  pss::astrotypes::list_has_type< T1, T2, Ts >
 
struct  pss::astrotypes::list_has_type< T, T >
 
struct  pss::astrotypes::list_has_type< T1, T2 >
 
struct  pss::astrotypes::has_type< Tuple, T2 >
 
struct  pss::astrotypes::has_type< std::tuple< T, Ts...>, T >
 
struct  pss::astrotypes::has_type< std::tuple< T2, Ts...>, T >
 
struct  pss::astrotypes::has_types< T1, T2, Ts >
 
struct  pss::astrotypes::has_types< T1, T2 >
 
struct  pss::astrotypes::find_type< Tuple, T2 >
 
struct  pss::astrotypes::find_type< std::tuple< T, Ts...>, T >
 
struct  pss::astrotypes::find_type< std::tuple< T2, Ts...>, T >
 
struct  pss::astrotypes::insert_type< Tuple, T, Ts >
 insert values into a tuple More...
 
struct  pss::astrotypes::insert_type< std::tuple< TupleTs...>, T1, T2, Ts...>
 
struct  pss::astrotypes::insert_type< std::tuple< TupleTs...>, T >
 
struct  pss::astrotypes::tuple_copy_helper< Tuple, SrcTuple, Index >
 copy the matching elements (by type) from one tuple into anothe More...
 
struct  pss::astrotypes::tuple_copy_helper< Tuple, SrcTuple, 0 >
 
struct  pss::astrotypes::unique_tuple< Tuple1, Tuple2s >
 create a tuple with types from both tuples, but guaranting that any type will appear only once More...
 
struct  pss::astrotypes::unique_tuple< std::tuple< Tuple1s...>, std::tuple<> >
 
struct  pss::astrotypes::unique_tuple< std::tuple< Tuple1s...>, std::tuple< T, Tuple2s...> >
 
struct  pss::astrotypes::merge_tuples_type< Tuple1, Tuple2 >
 produces an extended tuple type with params form all provided tuples All types must be unique. Earlier tuples in the parameter list take priority over those later where there is a type match betwen tuples More...
 
struct  pss::astrotypes::join_tuples< Tuple1, Tuples >
 produces a tuple type with params form all provided Tuples More...
 
struct  pss::astrotypes::join_tuples< std::tuple< Tuple1...>, std::tuple< Tuple2...> >
 
struct  pss::astrotypes::join_tuples< std::tuple< Tuple1...>, std::tuple< Tuple2...>, Tuples...>
 
struct  pss::astrotypes::tuple_diff< Tuple1, Tuple2 >
 
More...
 
struct  pss::astrotypes::tuple_diff< std::tuple< T >, std::tuple< Tuple2...> >
 
struct  pss::astrotypes::tuple_diff< std::tuple< T, Tuple1...>, std::tuple< Tuple2...> >
 

Namespaces

 pss
 
 pss::astrotypes
 

Functions

template<typename... TupleTs, typename... Ts>
void pss::astrotypes::tuple_insert_type (std::tuple< TupleTs...> &tuple, Ts const &...values)
 
template<typename... TupleTs, typename... Ts>
void pss::astrotypes::tuple_copy (std::tuple< TupleTs...> const &src_tuple, std::tuple< Ts...> &dst_tuple)
 
template<typename Tuple1 , typename Tuple2 >
merge_tuples_type< Tuple1, Tuple2 >::type pss::astrotypes::merge_tuples (Tuple1 const &tuple1, Tuple2 const &tuple2)