Calico
 All Classes Namespaces Files Functions Variables Typedefs Friends Groups
utility.hpp File Reference

Miscellaneous utility functions. More...

#include <tuple>
#include <ostream>
#include <type_traits>

Classes

struct  cal::combine_tuples< Tuples >
 Combines several tuple types into a single tuple type. More...
 
struct  cal::match_cv< T, Target >
 Obtains a type related to T with the same const-volatile qualifiers as Target. More...
 
struct  cal::ntuple< T, N >
 Constructs a tuple type containing N objects of type T. More...
 
struct  cal::packed_params< Function >
 A wrapper function type that allows a function to be called with a tuple whose elements are unpacked as arguments. More...
 
struct  cal::unparenthesize_type< void(TypeExpression)>
 Used to remove parentheses around a type expression. More...
 
struct  cal::valid_call< T >
 Returns whether the function call is valid. When the template parameter is equal to F(T...), it will return true if the function object F can be called with parameters of type T.... If variadic templates are not supported, a maximum of 5 arguments are supported. More...
 

Namespaces

 cal
 Primary namespace.
 

Typedefs

template<class... Tuples>
using cal::combine_tuples_t = combine_tuples< Tuples...>::type
 
template<class T , class Target >
using cal::match_cv_t = match_cv< T, Target >::type
 
template<class T , std::size_t N>
using cal::ntuple_t = ntuple< T, N >::type
 
template<class T >
using cal::unparenthesize_type_t = unparenthesize_type< T >::type
 

Functions

template<class... Ts>
std::ostream & std::operator<< (std::ostream &s, const std::tuple< Ts...> &x)
 Outputs a tuple in the format (a, b, c, ...).
 
template<class Function >
auto cal::pack_params (const Function &f)
 Constructs a wrapper function object that allows a function to be called with a tuple whose elements are unpacked as arguments.
 

Detailed Description

Miscellaneous utility functions.