catsfoot::details Namespace Reference

Implementation details for Catsfoot. More...

Classes

struct  eval
 Default case: predicate. More...
struct  eval< T, true, true, B >
 If T is a concept model. More...
struct  eval< T, true, false, true >
 If T is an auto-concept model. More...
struct  eval< concept_list< T...>, false, false, false >
 If the parameter is a list of requirements. More...
struct  class_assert_verified
 Check that T is a verified model. More...
struct  class_assert_concept
 Concept checking: predicate. More...
struct  class_assert_concept< concept_list< F, T...>, A, B, C >
 Concept checking: recursion on a list of requirements. More...
struct  class_assert_concept< concept_list<>, A, B, C >
 Concept checking: empty list of requirements. More...
struct  class_assert_concept< T, true, B, true >
 Concept checking: T is a concept model. More...
struct  class_assert_concept< T, false, true, true >
 Concept checking: T is a auto-concept model. More...
struct  is_same
struct  is_same< T, T >
struct  has_requirements
 Check whether T has a member type requirements. More...
struct  static_binary_and
 Predicate true if all predicate parameters are true. More...
struct  static_binary_and< T, U, true >
 Predicate true if all predicate parameters are true. More...
struct  static_and< F, T...>
 Predicate true if all predicate parameters are true. More...
struct  static_and<>
 Predicate true if all predicate parameters are true. More...
struct  generator_choose
struct  generator_choose< T, Other...>
struct  position_impl
 Finds the first occurrence of a type in a list. More...
struct  position_impl< N, T, T, U...>
 Finds the first occurrence of a type in a list. More...
struct  position_impl< N, T, U, V...>
 Finds the first occurrence of a type in a list. More...
struct  position
 Finds the first occurrence of a type in a list. More...
struct  number_function_returns< T >
 No function given. More...
struct  number_function_returns< T, std::function< T(Args...)>, Functions...>
 The first function returns a T. More...
struct  number_function_returns< T, std::function< const T &(Args...)>, Functions...>
 The first function returns a T. More...
struct  number_function_returns< T, std::function< T &(Args...)>, Functions...>
 The first function returns a T. More...
struct  number_function_returns< T, std::function< T &&(Args...)>, Functions...>
 The first function returns a T. More...
struct  number_function_returns< T, std::function< Ret(Args...)>, Functions...>
 The first function does not return a T. More...
struct  number_ground_terms< T >
 No function. More...
struct  number_ground_terms< T, std::function< T()>, Functions...>
 First function is ground term. More...
struct  number_ground_terms< T, std::function< const T &()>, Functions...>
 First function is ground term. More...
struct  number_ground_terms< T, std::function< T &()>, Functions...>
 First function is ground term. More...
struct  number_ground_terms< T, std::function< T &&()>, Functions...>
 First function is ground term. More...
struct  number_ground_terms< T, std::function< Ret(Args...)>, Functions...>
 First function is not ground term. More...
struct  tuple_generator_tool
struct  tuple_generator_tool< std::tuple< U...> & >
 Generates containers of tuples std::tuple<U...> More...
struct  tuple_generator_tool< const std::tuple< U...> & >
 Generates containers of tuples std::tuple<U...> More...
struct  tuple_generator_tool< std::tuple< U...> >
 Generates containers of tuples std::tuple<U...> More...
struct  tuple_generator
 Generates tuple from generator. More...
struct  has_get_axiom
 Predicate testing that U has static member get_axioms() More...
struct  test_all
 Test axioms of a predicate (always true) More...
struct  test_all< T, true, false >
 Test axioms of a concept with no local axioms. More...
struct  test_all< T, true, true >
 Test axioms of a concept with local axioms. More...
struct  test_all< concept_list< T, U...>, false, B >
 Test axioms of a list of requirements. More...
struct  tester<>
struct  tester< T, U...>
struct  always_false
 Predicate always false but depending on type parameters. More...
struct  always_true
 Predicate always true but depending on type parameters. More...
struct  callable_real_map
 Traits to use when everything is OK. More...
struct  callable_bad_map
 Traits to use on error. More...
struct  callable_real_map< T(U...)>
 Traits defining the return type. More...
struct  callable_bad_map< T(U...)>
 Traits defining an undefined return type. More...
struct  is_constructible_work_around< false, T(U...)>
 If T is not a class, it cannot be built with several parameter. More...
struct  is_constructible_work_around< false, T()>
 If not a class, is it always default constructible (maybe) More...
struct  is_constructible_work_around< false, T(U)>
 If is explicitly convertible and not a class, then it is like constructible. More...
struct  is_constructible_work_around< true, T(U...)>
 If T is a class, then use the standard library. More...
struct  try_first
 Tag for prioritizing some overloaded functions. More...
struct  try_second
 Tag for prioritizing some overloaded functions. More...
struct  try_all_compare< T, std::function< Ret(Args...)> >
struct  compare< Generator, T >
 No left operation. More...
struct  compare< Generator, T, Op, Ops...>
 Compare using the first operator and recurse. More...
struct  compare_top
 Builds a black-box comparator. More...
struct  call_tuple_helper
struct  add_const_ref
struct  add_ref
struct  call_with_ret
struct  call_with_ret< Op, std::tuple< Args...> & >
struct  call_with_ret< Op, std::tuple< Args...> >
struct  call_with_ret< Op, const std::tuple< Args...> & >
struct  member_wrapper< Ret(T::*)(Args...)>
 Wraps a non-const member. More...
struct  member_wrapper< void(T::*)(Args...)>
 Wraps a non-const void returning member. More...
struct  member_wrapper< Ret(T::*)(Args...) const >
 Wraps a const member. More...
struct  return_of
struct  return_of< T(Args...)>
struct  remove_side_effect_helper
struct  wrapped_constructor< T(Args...), true >
 Wraps constructor T(Args...) More...
struct  wrapped_constructor< T(Args...), false >
 T(Args...) is not constructible. More...

Functions

tmp tmp aLqmiBCgXn catsfoot
src axioms axioms hh EXTERN
void 
reached_function (std::string &&func, std::string &&file, unsigned line)
 Counts axiom as reached.
EXTERN void register_function (std::string &&func, std::string &&file, unsigned line)
 Ensures the axiom as a counter.
template<typename T , typename = typename T::requirements>
std::true_type has_requirements_helper (try_first, T &&)
template<typename T >
std::false_type has_requirements_helper (try_second, T &&)
template<typename T , typename... U, typename... V, typename = typename std::enable_if<sizeof...(V) == sizeof...(U)>::type>
std::tuple< std::pair< T, U >...> zip_vec_tuple (const std::vector< T > &vec, const std::tuple< U...> &, V &&...v)
 Zip a vector of T with a tuple of U...
template<typename T , typename... U, typename... V, typename = void, typename >
std::tuple< std::pair< T, U >...> zip_vec_tuple (const std::vector< T > &v, const std::tuple< U...> &t, V &&...values)
 Zip a vector of T with a tuple of U...
EXTERN std::vector< std::string > split_identifiers (const std::string &)
 Splits a comma separated list of C++ identifiers into a vector.
template<typename U >
std::false_type has_get_axiom_helper (try_second, U &&)
 Selected only when U has no static member get_axioms()
template<typename U , typename = decltype(U::get_axioms())>
std::true_type has_get_axiom_helper (try_first, U &&)
 Selected only when U has a static member get_axioms()
template<typename Stream , typename T , ENABLE_IF(printable< Stream &, T >) >
void print_if_printable (Stream &s, T &&t)
 Prints the value if printable.
template<typename Stream , typename T , ENABLE_IF_NOT(printable< Stream &, T >) , typename = void>
void print_if_printable (Stream &s, T &&)
 Prints type name of value if not printable.
void display_values ()
 Prints a list of values.
template<typename T , typename... U>
void display_values (T &&t, U &&...u)
 Prints a list of values.
template<typename T , typename... U>
std::false_type is_callable_helper (try_second, T &&, U &&...)
 Selected when T is not callable with U...
template<typename T , typename... U, typename = decltype(std::declval<T>()(std::declval<U>()...))>
std::true_type is_callable_helper (try_first, T &&, U &&...)
 Selected when T is callable with U...
template<typename Op , typename Tuple , typename... Given, typename = typename std::enable_if<(sizeof...(Given) == call_with_ret<Op, Tuple>::size)>::type>
call_with_ret< Op, Tuple >::type call_with_it (Op &&op, Tuple &&, Given &&...args)
template<typename Op , typename Tuple , typename... OtherArgs, typename = typename std::enable_if<(sizeof...(OtherArgs) != call_with_ret<Op, Tuple>::size)>::type, typename = void>
call_with_ret< Op, Tuple >::type call_with_it (Op &&op, Tuple &&args, OtherArgs &&...otherargs)
template<typename T >
std::string type_to_string ()
 Gives a string of the type T.
template<typename T , typename = typename std::enable_if<!std::is_reference<T>::value>::type>
T copy_if_non_const (T &&t)
template<typename T >
T copy_if_non_const (T &t)
template<typename T >
const Tcopy_if_non_const (const T &t)

Detailed Description

Implementation details for Catsfoot.


Function Documentation

template<typename T >
std::string catsfoot::details::type_to_string ( )

Gives a string of the type T.

Template Parameters:
Ta type
Returns:
A possibly demangled string representation of T