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 T & | copy_if_non_const (const T &t) |
Implementation details for Catsfoot.