Implementations in this scope is meant NOT to be accessed directly by the client.
More...
|
struct | append_type_st |
|
struct | append_type_st< ArgType, type_list_t< RightTypes... > > |
|
struct | append_type_st< type_list_t< ArgTypes... >, type_list_t< RightTypes... > > |
|
struct | are_all_in_list_st |
|
struct | are_all_in_list_st< type_list_t< Types... > > |
|
struct | are_all_in_list_st< type_list_t< Types... >, TestType > |
|
struct | are_all_in_list_st< type_list_t< Types... >, TestType, TestTypes... > |
|
struct | are_all_in_list_st< type_list_t< Types... >, type_list_t< TestType > > |
|
struct | are_all_in_list_st< type_list_t< Types... >, type_list_t< TestType, TestTypes... > > |
|
struct | are_all_in_list_st< type_list_t< Types... >, type_list_t<> > |
|
struct | arg_list |
|
struct | common_type_st |
|
struct | common_type_st< Type > |
|
struct | common_type_st< Type1, Type2 > |
|
struct | common_type_st< Type1, Type2, Types... > |
|
struct | common_type_st< type_list_t< Type > > |
|
struct | common_type_st< type_list_t< Type1, Type2 > > |
|
struct | common_type_st< type_list_t< Type1, Type2, Types... > > |
|
struct | common_type_st< type_list_t<> > |
|
class | container_of_tuples_class |
|
class | container_of_tuples_class< std::map, KeyType, ElementTypes... > |
|
class | container_of_tuples_class< std::multimap, KeyType, ElementTypes... > |
|
class | container_of_tuples_class< std::unordered_map, KeyType, ElementTypes... > |
|
class | container_of_tuples_class< std::unordered_multimap, KeyType, ElementTypes... > |
|
struct | container_of_tuples_st |
|
struct | container_of_tuples_st< ContainerType, type_list_t< ElementTypes... > > |
|
class | container_of_variants_class |
|
class | container_of_variants_class< std::map, KeyType, ElementTypes... > |
|
class | container_of_variants_class< std::multimap, KeyType, ElementTypes... > |
|
class | container_of_variants_class< std::pair, KeyType, ElementTypes... > |
|
class | container_of_variants_class< std::unordered_map, KeyType, ElementTypes... > |
|
class | container_of_variants_class< std::unordered_multimap, KeyType, ElementTypes... > |
|
struct | container_of_variants_st |
|
struct | container_of_variants_st< ContainerType, type_list_t< ElementTypes... > > |
|
struct | container_of_variants_st< std::map, KeyType, type_list_t< ElementTypes... > > |
|
struct | container_of_variants_st< std::multimap, KeyType, type_list_t< ElementTypes... > > |
|
struct | container_of_variants_st< std::pair, KeyType, type_list_t< ElementTypes... > > |
|
struct | container_of_variants_st< std::unordered_map, KeyType, type_list_t< ElementTypes... > > |
|
struct | container_of_variants_st< std::unordered_multimap, KeyType, type_list_t< ElementTypes... > > |
|
struct | difference_type_st |
|
struct | difference_type_st< type_list_t< Types... > > |
|
struct | difference_type_st< type_list_t< Types... >, Type > |
|
struct | difference_type_st< type_list_t< Types... >, Type, RightTypes... > |
|
struct | difference_type_st< type_list_t< Types... >, type_list_t< Type > > |
|
struct | difference_type_st< type_list_t< Types... >, type_list_t< Type, RightTypes... > > |
|
struct | difference_type_st< type_list_t< Types... >, type_list_t<> > |
|
struct | first_n_types_list_st |
|
struct | first_n_types_list_st< 0, type_list_t<>, type_list_t< RightType, RightTypes... > > |
|
struct | first_n_types_list_st< 0, type_list_t<>, type_list_t<> > |
|
struct | first_n_types_list_st< 1, type_list_t< LeftTypes... >, type_list_t< RightType, RightTypes... > > |
|
struct | first_n_types_list_st< 1, type_list_t< LeftTypes... >, type_list_t<> > |
|
struct | first_n_types_list_st< FirstN, type_list_t< LeftTypes... >, type_list_t< RightType, RightTypes... > > |
|
struct | first_n_types_list_to_template_class_st |
|
struct | first_n_types_list_to_template_class_st< FirstN, TemplateClass, type_list_t< Types... > > |
|
struct | first_n_types_st |
|
struct | first_n_types_st< FirstN, type_list_t<>, RightTypes... > |
|
struct | first_n_types_st< FirstN, type_list_t<>, type_list_t< RightTypes... > > |
|
struct | first_n_types_to_template_class_st |
|
struct | first_n_types_to_template_class_st< FirstN, TemplateClass< InnerTypes... >, type_list_t< Types... > > |
|
struct | first_n_types_to_template_class_st< FirstN, TemplateClass< InnerTypes... >, Types... > |
|
struct | intersection_type_st |
|
struct | intersection_type_st< type_list_t< Types... > > |
|
struct | intersection_type_st< type_list_t< Types... >, Type > |
|
struct | intersection_type_st< type_list_t< Types... >, Type, RightTypes... > |
|
struct | intersection_type_st< type_list_t< Types... >, type_list_t< Type > > |
|
struct | intersection_type_st< type_list_t< Types... >, type_list_t< Type, RightTypes... > > |
|
struct | intersection_type_st< type_list_t< Types... >, type_list_t<> > |
|
struct | is_any_st |
|
struct | is_any_st< std::any > |
|
struct | is_basic_string_st |
|
struct | is_basic_string_st< std::basic_string< Type, Types... > > |
|
struct | is_basic_string_st< std::basic_string_view< Type, Types... > > |
|
struct | is_char_st |
|
struct | is_char_st< char > |
|
struct | is_char_st< unsigned char > |
|
struct | is_in_list_st |
|
struct | is_in_list_st< TestType > |
|
struct | is_in_list_st< TestType, Type > |
|
struct | is_in_list_st< TestType, Type, Types... > |
|
struct | is_in_list_st< TestType, type_list_t< Type > > |
|
struct | is_in_list_st< TestType, type_list_t< Type, Types... > > |
|
struct | is_in_list_st< TestType, type_list_t<> > |
|
struct | is_map_or_unordered_map_st |
|
struct | is_map_or_unordered_map_st< std::map< KeyType, ValueType, Types... > > |
|
struct | is_map_or_unordered_map_st< std::unordered_map< KeyType, ValueType, Types... > > |
|
struct | is_pair_of_variant_st |
|
struct | is_pair_of_variant_st< std::pair< Type, Types... > > |
|
struct | is_pair_st |
|
struct | is_pair_st< std::pair< Type_1, Type_2 > > |
|
struct | is_reference_wrapper_st |
|
struct | is_reference_wrapper_st< std::reference_wrapper< Type > > |
|
struct | is_same_st |
|
struct | is_same_st< Type > |
|
struct | is_same_st< Type1, Type2 > |
|
struct | is_same_st< Type1, Type2, Types... > |
|
struct | is_same_st< type_list_t< Type > > |
|
struct | is_same_st< type_list_t< Type1, Type2 > > |
|
struct | is_same_st< type_list_t< Type1, Type2, Types... > > |
|
struct | is_same_template_st |
|
struct | is_same_template_st< ContainerType< TypeA, TypeAs... >, ContainerType< TypeB, TypeBs... > > |
|
struct | is_same_template_st< ContainerType< TypeA1, TypeA2, TypeA3, TypeA4, TypeAs... >, ContainerType< TypeB1, TypeB2, TypeB3, TypeB4, TypeBs... > > |
|
struct | is_same_template_st< ContainerType< TypeA1, TypeA2, TypeA3, TypeAs... >, ContainerType< TypeB1, TypeB2, TypeB3, TypeBs... > > |
|
struct | is_same_template_st< ContainerType< TypeA1, TypeA2, TypeAs... >, ContainerType< TypeB1, TypeB2, TypeBs... > > |
|
struct | is_same_template_st< ContainerType< Types1... >, ContainerType< Types2... > > |
|
struct | is_same_template_type_st |
|
struct | is_same_template_type_st< ContainerType< Type, Types... >, ContainerType< Type, Types... > > |
|
struct | is_same_template_type_st< ContainerType< Type1, Type2, Type3, Type4, Types... >, ContainerType< Type1, Type2, Type3, Type4, Types... > > |
|
struct | is_same_template_type_st< ContainerType< Type1, Type2, Type3, Types... >, ContainerType< Type1, Type2, Type3, Types... > > |
|
struct | is_same_template_type_st< ContainerType< Type1, Type2, Types... >, ContainerType< Type1, Type2, Types... > > |
|
struct | is_same_template_type_st< ContainerType< Types... >, ContainerType< Types... > > |
|
struct | is_set_or_unordered_set_st |
|
struct | is_set_or_unordered_set_st< std::set< Type, Types... > > |
|
struct | is_set_or_unordered_set_st< std::unordered_set< Type, Types... > > |
|
struct | is_string_st |
|
struct | is_string_st< const char * > |
|
struct | is_string_st< const wchar_t * > |
|
struct | is_string_st< std::basic_string< CharType > > |
|
struct | is_template_st |
|
struct | is_template_st< ContainerType< Type, Args... > > |
|
struct | is_template_st< ContainerType< Types... > > |
|
struct | is_tuple_st |
|
struct | is_tuple_st< std::tuple< Type, Types... > > |
|
struct | is_tuple_st< std::tuple<> > |
|
struct | is_type_in_list_st |
|
struct | is_type_in_list_st< ArgType > |
|
struct | is_type_in_list_st< ArgType, Type, RightTypes... > |
|
struct | is_type_in_list_st< ArgType, type_list_t< Type, RightTypes... > > |
|
struct | is_type_in_list_st< ArgType, type_list_t<> > |
|
struct | is_type_list_equivalent_st |
|
struct | is_type_list_equivalent_st< type_list_t< LeftTypes... > > |
|
struct | is_type_list_equivalent_st< type_list_t< LeftTypes... >, Type > |
|
struct | is_type_list_equivalent_st< type_list_t< LeftTypes... >, Type, RightTypes... > |
|
struct | is_type_list_equivalent_st< type_list_t< LeftTypes... >, type_list_t< RightTypes... > > |
|
struct | is_unique_ptr_st |
|
struct | is_unique_ptr_st< std::unique_ptr< Type, Types... > > |
|
struct | is_variant_st |
|
struct | is_variant_st< std::variant< Types... > > |
|
struct | last_n_types_list_st |
|
struct | last_n_types_list_st< 0, type_list_t< LeftType, LeftTypes... >, type_list_t<> > |
|
struct | last_n_types_list_st< 0, type_list_t<>, type_list_t<> > |
|
struct | last_n_types_list_st< 1, type_list_t< LeftType, LeftTypes... >, type_list_t< RightTypes... > > |
|
struct | last_n_types_list_st< 1, type_list_t<>, type_list_t< RightTypes... > > |
|
struct | last_n_types_list_st< LastN, type_list_t< LeftType, LeftTypes... >, type_list_t< RightTypes... > > |
|
struct | last_n_types_st |
|
struct | last_n_types_st< LastN, type_list_t< LeftTypes... > > |
|
struct | make_signed_integral_st |
|
struct | make_signed_integral_st< Type, true > |
|
struct | make_signed_st |
|
struct | make_signed_st< Type, true > |
|
struct | make_unsigned_integral_st |
|
struct | make_unsigned_integral_st< Type, true > |
|
struct | make_unsigned_st |
|
struct | make_unsigned_st< Type, true > |
|
struct | nth_type_to_template_class_st |
|
struct | nth_type_to_template_class_st< TypeIndex, TemplateClass< InnerTypes... >, type_list_t< Types... > > |
|
struct | nth_type_to_template_class_st< TypeIndex, TemplateClass< InnerTypes... >, Types... > |
|
struct | pop_back_type_st |
|
struct | pop_back_type_st< type_list_t< LeftTypes... >, type_list_t< Type, RightTypes... > > |
|
struct | pop_back_type_st< type_list_t< LeftTypes... >, type_list_t<> > |
|
struct | pop_back_type_wrapper_st |
|
struct | pop_back_type_wrapper_st< type_list_t< Types... > > |
|
struct | pop_front_type_st |
|
struct | pop_front_type_st< type_list_t< Type, Types... > > |
|
struct | pop_front_type_st< type_list_t<> > |
|
struct | pop_front_wrapper_st |
|
struct | pop_front_wrapper_st< type_list_t< Types... > > |
|
struct | prepend_type_st |
|
struct | prepend_type_st< ArgType, type_list_t< RightTypes... > > |
|
struct | prepend_type_st< type_list_t< ArgTypes... >, type_list_t< RightTypes... > > |
|
struct | push_back_type_st |
|
struct | push_back_type_st< ArgType, type_list_t< Types... > > |
|
struct | push_front_type_st |
|
struct | push_front_type_st< ArgType, type_list_t< Types... > > |
|
struct | remove_type_st |
|
struct | remove_type_st< ArgType > |
|
struct | remove_type_st< ArgType, Type > |
|
struct | remove_type_st< ArgType, Type, RightTypes... > |
|
struct | remove_type_st< ArgType, type_list_t< Type > > |
|
struct | remove_type_st< ArgType, type_list_t< Type, RightTypes... > > |
|
struct | remove_type_st< ArgType, type_list_t<> > |
|
struct | remove_type_wrapper_st |
|
struct | remove_type_wrapper_st< ArgType, type_list_t< Types... > > |
|
struct | replace_type_st |
|
struct | replace_type_st< NewType, OldType > |
|
struct | replace_type_st< NewType, OldType, Type > |
|
struct | replace_type_st< NewType, OldType, Type, RightTypes... > |
|
struct | replace_type_st< NewType, OldType, type_list_t< Type > > |
|
struct | replace_type_st< NewType, OldType, type_list_t< Type, RightTypes... > > |
|
struct | replace_type_st< NewType, OldType, type_list_t<> > |
|
struct | return_type_st |
|
struct | return_type_st< void > |
|
struct | select_first_type_st |
|
struct | select_first_type_st< Type > |
|
struct | select_first_type_st< Type, Types... > |
|
struct | select_first_type_st< type_list_t< Type > > |
|
struct | select_first_type_st< type_list_t< Type, Types... > > |
|
struct | select_first_type_st< type_list_t<> > |
|
struct | select_first_type_st<> |
|
struct | select_last_type_st |
|
struct | select_last_type_st< Type > |
|
struct | select_last_type_st< Type, Types... > |
|
struct | select_last_type_st< type_list_t< Type > > |
|
struct | select_last_type_st< type_list_t< Type, Types... > > |
|
struct | select_last_type_st< type_list_t<> > |
|
struct | select_last_type_st<> |
|
struct | select_nth_type_st |
|
struct | select_nth_type_st< 0, Type, Types... > |
|
struct | select_nth_type_st< 0, type_list_t< Type, Types... > > |
|
struct | select_nth_type_st< SelectIndex > |
|
struct | select_nth_type_st< SelectIndex, Type, Types... > |
|
struct | select_nth_type_st< SelectIndex, type_list_t< Type, Types... > > |
|
struct | select_nth_type_st< SelectIndex, type_list_t<> > |
|
struct | st_arg_to_type_list |
|
struct | st_arg_to_type_list< arg_list< Types... > > |
|
struct | st_arg_to_type_list< type_list_t< Types... > > |
|
struct | st_build_arg_types |
|
struct | st_build_arg_types< type_list_t< Heads... >, type_list_t< Tails... > > |
|
struct | st_common_type_solver |
|
struct | st_common_type_solver< Type > |
|
struct | st_common_type_solver< Type, Types... > |
|
struct | st_common_type_solver< type_list_t< Type > > |
|
struct | st_common_type_solver< type_list_t< Type, Types... > > |
|
struct | st_common_type_solver< type_list_t<> > |
|
struct | st_common_type_solver<> |
|
struct | st_contain_no_type_in_tuple |
|
struct | st_contain_no_type_in_tuple< std::tuple< Type > > |
|
struct | st_contain_no_type_in_tuple< std::tuple< Type, Types... > > |
|
struct | st_contain_no_type_in_tuple< std::tuple<> > |
|
struct | st_create_workhorse_range |
|
struct | st_create_workhorse_range< SequenceInOrder, BeginValue, EndValue > |
|
struct | st_create_workhorse_range< SequenceInOrder, BeginValue, EndValue, IncrementValue > |
|
struct | st_create_workhorse_range< SequenceInOrder, EndValue > |
|
struct | st_dummy_type_container |
|
struct | st_has_tuple_common_type |
|
struct | st_has_tuple_common_type< std::tuple< Types... > > |
|
struct | st_index_tuple_vector |
|
struct | st_index_tuple_vector< std::index_sequence< Is... > > |
|
struct | st_is_arg_list |
|
struct | st_is_arg_list< arg_list< Ts... > > |
|
struct | st_is_callable |
|
struct | st_is_callable< CallbackType, type_list_t< CallableTypes... >, type_list_t< NonCallableTypes... > > |
|
struct | st_is_callable< CallbackType, type_list_t< CallableTypes... >, type_list_t< NonCallableTypes... >, Type > |
|
struct | st_is_callable< CallbackType, type_list_t< CallableTypes... >, type_list_t< NonCallableTypes... >, Type, Types... > |
|
struct | st_is_callable< CallbackType, type_list_t< CallableTypes... >, type_list_t< NonCallableTypes... >, type_list_t< Types... > > |
|
struct | st_is_constrained_any |
|
struct | st_is_constrained_any< types::any< Types... > > |
|
struct | st_is_integer_sequence |
|
struct | st_is_integer_sequence< std::integer_sequence< Type, Indices... > > |
|
struct | st_is_invocable |
|
struct | st_is_invocable< CallbackType, arg_list< ArgTypes... > > |
|
struct | st_is_numbers_type_v |
|
struct | st_is_numbers_type_v< ContainerType< Ints... > > |
|
struct | st_is_std_array |
|
struct | st_is_std_array< std::array< Type, Size > > |
|
struct | st_is_tag_type_v |
|
struct | st_is_tag_type_v< tag_type< Type, Tag > > |
|
struct | st_is_template_type |
|
struct | st_is_template_type< TemplateType< arg, Types... > > |
|
struct | st_is_template_type< TemplateType< args... > > |
|
struct | st_is_template_type< TemplateType< T, args... > > |
|
struct | st_is_template_type< TemplateType< Types... > > |
|
struct | st_is_type_list |
|
struct | st_is_type_list< type_list_t< Ts... > > |
|
struct | st_is_vector_v |
|
struct | st_is_vector_v< std::vector< Type, Types... > > |
|
struct | st_make_non_class_wrapper |
|
struct | st_make_non_class_wrapper< Type, Tag, true > |
|
struct | st_pairwise_common |
|
struct | st_pairwise_common< T > |
|
struct | st_pairwise_common< T, S > |
|
struct | st_pairwise_common< T, S, Types... > |
|
struct | st_recursive_type_list |
|
struct | st_recursive_type_list< TemplateType< Types... > > |
|
struct | st_reverse_sequence |
|
struct | st_reverse_sequence< std::integer_sequence< T, args... > > |
|
struct | st_revese_sequence_operation |
|
struct | st_revese_sequence_operation< std::integer_sequence< T, args... >, std::integer_sequence< T > > |
|
struct | st_revese_sequence_operation< std::integer_sequence< T, args1... >, std::integer_sequence< T, first, args2... > > |
|
struct | st_sequence_element_count |
|
struct | st_sequence_element_count< std::integer_sequence< T, Elements... > > |
|
struct | st_sequence_element_type |
|
struct | st_sequence_element_type< std::integer_sequence< T, Elements... > > |
|
struct | st_sequence_first_element |
|
struct | st_sequence_first_element< std::integer_sequence< T, First, Remainders... > > |
|
struct | st_sequence_info |
|
struct | st_sequence_info< T, FirstValue, LastValue, CountValue, !StackInOrder > |
|
struct | st_sequence_last_element |
|
struct | st_sequence_last_element< std::integer_sequence< T, First > > |
|
struct | st_sequence_last_element< std::integer_sequence< T, First, Remainders... > > |
|
struct | st_sequence_nth_element |
|
struct | st_sequence_nth_element< 0, std::integer_sequence< T, First, Remainders... > > |
|
struct | st_sequence_nth_element< Nth, std::integer_sequence< T, First, Remainders... > > |
|
struct | st_sequence_span |
|
struct | st_sequence_span< std::integer_sequence< T, First > > |
|
struct | st_sequence_span< std::integer_sequence< T, First, Second, Remainders... > > |
|
struct | st_std_array_element |
|
struct | st_std_array_element< std::array< Type, Size > > |
|
struct | st_tuple_common_type |
|
struct | st_tuple_common_type< std::tuple< ArgTypes1... >, std::tuple< ArgTypes2... > > |
|
struct | st_tuple_size |
|
struct | st_tuple_size< std::tuple< Type, ArgTypes... > > |
|
struct | st_tuple_to_type_list |
|
struct | st_tuple_to_type_list< std::tuple< Types... > > |
|
struct | st_type_list_to_tuple |
|
struct | st_type_list_to_tuple< type_list_t< Types... > > |
|
struct | st_type_list_to_tuple_of_vectors |
|
struct | st_type_list_to_tuple_of_vectors< CntrType< Types... > > |
|
struct | st_type_list_to_tuple_of_vectors< type_list_t< Types... > > |
|
struct | st_unique_ptr_wrapper |
|
struct | st_unique_ptr_wrapper_deleter |
|
struct | st_variant_to_type_list |
|
struct | st_variant_to_type_list< std::variant< Types... > > |
|
struct | st_vector |
|
struct | st_workhorse_range |
|
struct | to_tuple_st |
|
struct | to_tuple_st< std::variant< Types... > > |
|
struct | to_tuple_st< type_list_t< Types... > > |
|
struct | to_variant_st |
|
struct | to_variant_st< std::tuple< Type, Types... > > |
|
struct | to_variant_st< type_list_t< Type, Types... > > |
|
struct | type_count_st |
|
struct | type_count_st< TemplateType< Types... > > |
|
struct | type_count_st< type_list_t< Types... > > |
|
struct | type_list_to_template_class_st |
|
struct | type_list_to_template_class_st< ClassTemplate, type_list_t< Types... > > |
|
struct | type_list_to_template_class_wrapper_st |
|
struct | type_list_to_template_class_wrapper_st< ClassTemplate, type_list_t< Types... > > |
|
struct | type_list_to_template_class_wrapper_st< std::variant, type_list_t< Types... > > |
|
struct | type_list_to_template_class_wrapper_st< std::variant, Types... > |
|
struct | types_to_template_class_st |
|
struct | types_to_template_class_st< ClassTemplate< InnerTypes... >, type_list_t< Types... > > |
|
struct | types_to_template_class_st< ClassTemplate< InnerTypes... >, Types... > |
|
struct | types_to_template_class_wrapper_st |
|
struct | types_to_template_class_wrapper_st< ClassTemplate< InnerTypes... >, type_list_t< Types... > > |
|
struct | types_to_template_class_wrapper_st< ClassTemplate< InnerTypes... >, Types... > |
|
struct | types_to_template_class_wrapper_st< std::variant< InnerTypes... >, type_list_t< Types... > > |
|
struct | types_to_template_class_wrapper_st< std::variant< InnerTypes... >, Types... > |
|
struct | union_type_st |
|
struct | union_type_st< ArgType, type_list_t< Types... > > |
|
struct | union_type_st< type_list_t< Types... > > |
|
struct | union_type_st< type_list_t< Types... >, Type > |
|
struct | union_type_st< type_list_t< Types... >, Type, RightTypes... > |
|
struct | union_type_st< type_list_t< Types... >, type_list_t< Type > > |
|
struct | union_type_st< type_list_t< Types... >, type_list_t< Type, RightTypes... > > |
|
struct | union_type_st< type_list_t< Types... >, type_list_t<> > |
|
struct | unique_types_st |
|
struct | unique_types_st< type_list_t< Types... > > |
|
struct | unique_types_st< type_list_t< Types... >, Type > |
|
struct | unique_types_st< type_list_t< Types... >, Type, RightTypes... > |
|
struct | unique_types_st< type_list_t< Types... >, type_list_t< RightTypes... > > |
|
|
template<typename Type , auto Tag> |
using | non_class_wrapper_t = typename st_make_non_class_wrapper< Type, Tag, std::is_class_v< Type > >::type |
|
template<typename T > |
using | to_recursive_type_list_t = typename st_recursive_type_list< T >::type |
|
template<typename TupleType > |
using | tuple_to_type_list_t = typename st_tuple_to_type_list< TupleType >::type |
|
template<typename TypeList > |
using | type_list_to_tuple_t = typename st_type_list_to_tuple< TypeList >::type |
|
template<typename VarType > |
using | variant_to_type_list_t = typename st_variant_to_type_list< VarType >::type |
|
template<typename Type > |
using | map_or_unordered_map_pair_t = typename is_map_or_unordered_map_st< remove_cv_ref_t< Type > >::type |
|
template<typename Type > |
using | return_type_t = typename return_type_st< Type >::type |
|
template<typename SequenceType > |
using | reverse_sequence_t = typename st_reverse_sequence< SequenceType >::type |
|
template<typename T > |
using | sequence_element_t = typename st_sequence_element_type< T >::type |
|
template<bool StackOrder, typename SequenceType > |
using | sequence_info_t = st_sequence_info< sequence_element_t< SequenceType >, sequence_first_element_v< SequenceType >, sequence_last_element_v< SequenceType >, sequence_element_count_v< SequenceType >, StackOrder > |
|
template<typename T > |
using | iterator_value_type_t = decltype(iterator_value_type_fn(std::declval< T >())) |
|
template<typename Type , typename ReturnType > |
using | enable_if_iterator_type_t = std::enable_if_t< is_iterator_type_v< Type >, ReturnType > |
|
template<typename T > |
using | enable_if_iterator_value_type_t = std::enable_if_t< is_iterator_type_v< T >, iterator_value_type_t< T > > |
|
template<typename T > |
using | conditional_iterator_value_type_t = typename std::conditional< is_iterator_type_v< T >, iterator_value_type_t< T >, T >::type |
|
template<typename Type > |
using | template_parameter_type_list_t = typename is_template_st< Type >::type |
|
template<typename Type1 , typename Type2 > |
using | is_operable_t = std::remove_reference_t< decltype(is_operable_fn(std::declval< Type1 >(), std::declval< Type2 >()))> |
|
template<typename Type , typename ReturnType = void> |
using | enable_if_container_type_t = std::enable_if_t< is_container_type_v< remove_cv_ref_t< Type > >, ReturnType > |
|
template<typename Type , typename ReturnType = Type> |
using | enable_if_integral_t = std::enable_if_t< is_integral_v< Type >, ReturnType > |
|
template<typename Type , typename ReturnType = Type> |
using | enable_if_signed_integral_t = std::enable_if_t< is_signed_integral_v< Type >, ReturnType > |
|
template<typename Type , typename ReturnType = Type> |
using | enable_if_unsigned_integral_t = std::enable_if_t< is_unsigned_integral_v< Type >, ReturnType > |
|
template<typename Type , typename ReturnType = Type> |
using | enable_if_integer_t = std::enable_if_t< is_integer_v< Type >, ReturnType > |
|
template<typename Type , typename ReturnType = Type> |
using | enable_if_not_integer_t = std::enable_if_t<!is_integer_v< Type >, ReturnType > |
|
template<typename Type , typename ReturnType = Type> |
using | enable_if_signed_integer_t = std::enable_if_t< is_signed_integer_v< Type >, ReturnType > |
|
template<typename Type , typename ReturnType = Type> |
using | enable_if_unsigned_integer_t = std::enable_if_t< is_unsigned_integer_v< Type >, ReturnType > |
|
template<typename Type , typename ReturnType = Type> |
using | enable_if_real_number_t = std::enable_if_t< is_real_number_v< Type >, ReturnType > |
|
template<typename Type , typename ReturnType = Type> |
using | enable_if_numerical_number_t = std::enable_if_t< is_numerical_number_v< Type >, ReturnType > |
|
template<typename Type > |
using | make_signed_t = typename make_signed_st< Type, is_integer_v< Type > >::type |
|
template<typename Type > |
using | make_unsigned_t = typename make_unsigned_st< Type, is_integer_v< Type > >::type |
|
template<typename Type > |
using | make_signed_integral_t = typename make_signed_integral_st< Type, is_integral_v< Type > >::type |
|
template<typename Type > |
using | make_unsigned_integral_t = typename make_unsigned_integral_st< Type, is_integral_v< Type > >::type |
|
template<typename... Types> |
using | common_type_t = typename st_common_type_solver< Types... >::type |
|
template<typename... Types> |
using | select_first_type_t = typename select_first_type_st< Types... >::type |
|
template<typename... Types> |
using | first_type_t = select_first_type_t< Types... > |
|
template<typename... Types> |
using | front_type_t = select_first_type_t< Types... > |
|
template<typename... Types> |
using | select_last_type_t = typename select_last_type_st< Types... >::type |
|
template<typename... Types> |
using | last_type_t = select_last_type_t< Types... > |
|
template<typename... Types> |
using | back_type_t = select_last_type_t< Types... > |
|
template<auto SelectIndex, typename... Types> |
using | select_nth_type_t = typename select_nth_type_st< SelectIndex, Types... >::type |
|
template<auto SelectIndex, typename... Types> |
using | nth_type_t = select_nth_type_t< SelectIndex, Types... > |
|
template<typename Type > |
using | first_parameter_type_t = first_type_t< template_parameter_type_list_t< Type > > |
|
template<typename Type > |
using | last_parameter_type_t = last_type_t< template_parameter_type_list_t< Type > > |
|
template<auto SelectIndex, typename Type > |
using | nth_parameter_type_t = nth_type_t< SelectIndex, template_parameter_type_list_t< Type > > |
|
template<typename ArgType , typename... Types> |
using | push_front_type_t = typename push_front_type_st< ArgType, Types... >::type |
|
template<typename ArgType , typename... Types> |
using | push_back_type_t = typename push_back_type_st< ArgType, Types... >::type |
|
template<typename... Types> |
using | pop_front_type_t = typename pop_front_wrapper_st< Types... >::type |
|
template<typename... Types> |
using | pop_back_type_t = typename pop_back_type_wrapper_st< Types... >::type |
|
template<size_t FirstN, typename... RightTypes> |
using | first_n_types_t = typename first_n_types_st< FirstN, type_list_t<>, RightTypes... >::type |
|
template<size_t FirstN, typename... RightTypes> |
using | select_first_n_types_t = first_n_types_t< FirstN, RightTypes... > |
|
template<size_t LastN, typename... LeftTypes> |
using | last_n_types_t = typename last_n_types_st< LastN, LeftTypes... >::type |
|
template<size_t LastN, typename... LeftTypes> |
using | select_last_n_types_t = last_n_types_t< LastN, LeftTypes... > |
|
template<typename TestType , typename TypeList , typename ReturnType = TestType> |
using | enable_if_in_list_t = std::enable_if_t< is_type_in_list_v< TestType, TypeList >, ReturnType > |
|
template<typename TestTypeList , typename TypeList , typename ReturnType = void> |
using | enable_if_all_in_list_t = std::enable_if_t< are_all_in_list_v< TypeList, TestTypeList >, ReturnType > |
|
template<typename... Types> |
using | unique_types_t = typename unique_types_st< type_list_t<>, Types... >::type |
|
template<typename Type , typename... Types> |
using | to_variant_t = typename to_variant_st< Type, Types... >::type |
|
template<typename... Types> |
using | to_tuple_t = typename to_tuple_st< Types... >::type |
|
template<typename ArgType , typename RightList > |
using | prepend_type_t = typename prepend_type_st< ArgType, RightList >::type |
|
template<typename ArgType , typename RightList > |
using | append_type_t = typename append_type_st< ArgType, RightList >::type |
|
template<typename LeftList , typename RightList > |
using | union_type_t = typename union_type_st< LeftList, RightList >::type |
|
template<typename LeftList , typename RightList > |
using | intersection_type_t = typename intersection_type_st< LeftList, RightList >::type |
|
template<typename ArgType , typename... Types> |
using | remove_type_t = typename remove_type_wrapper_st< ArgType, Types... >::type |
|
template<typename LeftList , typename RightList > |
using | difference_type_t = typename difference_type_st< LeftList, RightList >::type |
|
template<typename NewType , typename OldType , typename TypeList > |
using | replace_type_t = typename replace_type_st< NewType, OldType, TypeList >::type |
|
template<typename... ArgTypes> |
using | make_unique_ptr_wrapper_t = typename st_unique_ptr_wrapper< ArgTypes... >::type |
|
template<typename deleter , typename... ArgTypes> |
using | make_unique_ptr_deleter_wrapper_t = typename st_unique_ptr_wrapper_deleter< deleter, ArgTypes... >::type |
|
template<typename FuncType , typename... ArgTypes> |
using | function_return_type_t = remove_cvref_t< decltype(function_return_type_fn(std::declval< FuncType >(), std::declval< ArgTypes >()...))> |
|
template<typename TupleType > |
using | tuple_common_element_t = typename st_has_tuple_common_type< TupleType >::type |
|
template<typename TupleType > |
using | tuple_to_std_array_t = std::array< tuple_common_element_t< TupleType >, tuple_size_v< TupleType > > |
|
template<typename Type > |
using | arg_to_type_t = typename st_is_arg_list< Type >::type |
|
template<template< typename, typename... > class ContainerType, typename... ElementTypes> |
using | container_of_variants_t = typename container_of_variants_st< ContainerType, unique_types_t< ElementTypes... > >::type |
|
template<template< typename, typename... > class ContainerType, typename KeyType , typename... ElementTypes> |
using | container_map_of_variants_t = typename container_of_variants_st< ContainerType, KeyType, unique_types_t< ElementTypes... > >::type |
|
template<typename... ElementTypes> |
using | vector_of_variants_t = container_of_variants_t< std::vector, ElementTypes... > |
|
template<typename... ElementTypes> |
using | deque_of_variants_t = container_of_variants_t< std::deque, ElementTypes... > |
|
template<typename... ElementTypes> |
using | list_of_variants_t = container_of_variants_t< std::list, ElementTypes... > |
|
template<typename... ElementTypes> |
using | set_of_variants_t = container_of_variants_t< std::set, ElementTypes... > |
|
template<typename... ElementTypes> |
using | multiset_of_variants_t = container_of_variants_t< std::multiset, ElementTypes... > |
|
template<typename... ElementTypes> |
using | unordered_set_of_variants_t = container_of_variants_t< std::unordered_set, ElementTypes... > |
|
template<typename... ElementTypes> |
using | unordered_multiset_of_variants_t = container_of_variants_t< std::unordered_multiset, ElementTypes... > |
|
template<typename KeyType , typename... ElementTypes> |
using | pair_of_variants_t = container_map_of_variants_t< std::pair, KeyType, ElementTypes... > |
|
template<typename KeyType , typename... ElementTypes> |
using | map_of_variants_t = container_map_of_variants_t< std::map, KeyType, ElementTypes... > |
|
template<typename KeyType , typename... ElementTypes> |
using | multimap_of_variants_t = container_map_of_variants_t< std::multimap, KeyType, ElementTypes... > |
|
template<typename KeyType , typename... ElementTypes> |
using | unordered_map_of_variants_t = container_map_of_variants_t< std::unordered_map, KeyType, ElementTypes... > |
|
template<typename KeyType , typename... ElementTypes> |
using | unordered_multimap_of_variants_t = container_map_of_variants_t< std::unordered_multimap, KeyType, ElementTypes... > |
|
template<typename Type , typename... Types> |
using | types_to_template_class_t = typename types_to_template_class_wrapper_st< Type, Types... >::type |
|
template<template< typename... >class ClassTemplate, typename... Types> |
using | type_list_to_template_class_t = typename type_list_to_template_class_wrapper_st< ClassTemplate, Types... >::type |
|
template<size_t TypeIndex, typename TemplateClass , typename... Types> |
using | nth_type_to_template_class_t = typename nth_type_to_template_class_st< TypeIndex, TemplateClass, Types... >::type |
|
template<size_t FirstN, template< typename... > typename TemplateClass, typename... Types> |
using | first_n_types_list_to_template_class_t = typename first_n_types_list_to_template_class_st< FirstN, TemplateClass, Types... >::type |
|
template<size_t FirstN, typename TemplateClass , typename... Types> |
using | first_n_types_to_template_class_t = typename first_n_types_to_template_class_st< FirstN, TemplateClass, Types... >::type |
|
template<template< typename, typename... > class ContainerType, typename... ElementTypes> |
using | container_of_tuples_t = typename container_of_tuples_st< ContainerType, ElementTypes... >::type |
|
template<typename... ElementTypes> |
using | vector_of_tuples_t = container_of_tuples_t< std::vector, ElementTypes... > |
|
template<typename... ElementTypes> |
using | deque_of_tuples_t = container_of_tuples_t< std::deque, ElementTypes... > |
|
template<typename... ElementTypes> |
using | list_of_tuples_t = container_of_tuples_t< std::list, ElementTypes... > |
|
template<typename... ElementTypes> |
using | set_of_tuples_t = container_of_tuples_t< std::set, ElementTypes... > |
|
template<typename KeyType , typename... ElementTypes> |
using | map_of_tuples_t = container_of_tuples_t< std::map, KeyType, ElementTypes... > |
|
template<typename KeyType , typename... ElementTypes> |
using | multimap_of_tuples_t = container_of_tuples_t< std::multimap, KeyType, ElementTypes... > |
|
template<typename KeyType , typename... ElementTypes> |
using | unordered_map_of_tuples_t = container_of_tuples_t< std::unordered_map, KeyType, ElementTypes... > |
|
template<typename KeyType , typename... ElementTypes> |
using | unordered_multimap_of_tuples_t = container_of_tuples_t< std::unordered_multimap, KeyType, ElementTypes... > |
|
|
template<typename T , typename S > |
auto | addition_vaild_fn (T t, S s) -> decltype(t+s) |
|
template<typename T , typename S > |
auto | subtraction_vaild_fn (T t, S s) -> decltype(t - s) |
|
template<typename T , typename S > |
auto | multiplication_vaild_fn (T t, S s) -> decltype(t *s) |
|
template<typename T , typename S > |
auto | division_vaild_fn (T t, S s) -> decltype(t/s) |
|
template<auto Begin, auto End, auto Size> |
constexpr auto | compute_span () |
|
template<typename T , T... Indices, T Begin, T End, T Increment> |
constexpr auto | fn_create_sequence_in_order (std::integer_sequence< T, Indices... >, st_workhorse_range< T, Begin, End, Increment >) |
|
template<typename T , T... Indices, T Begin, T End, T Increment> |
constexpr auto | fn_create_sequence_reverse_order (std::integer_sequence< T, Indices... >, st_workhorse_range< T, Begin, End, Increment >) |
|
template<typename... ArgTypes> |
void | process_arguments (ArgTypes &&...) |
|
template<typename WorkhorseType , auto... Indices> |
void | drive_workhorse (WorkhorseType &&workhorse, typed_sequence_t< Indices... >) |
|
template<typename WorkhorseType , auto... RowIndices, auto... ColumnIndices> |
std::enable_if_t< std::is_invocable_v< WorkhorseType, indexer_t< 0 >, indexer_t< 0 > > > | drive_workhorse (WorkhorseType &&cabin, typed_sequence_t< RowIndices... >, typed_sequence_t< ColumnIndices... >) |
|
template<typename WorkhorseType , auto... RowIndices, auto... ColumnIndices> |
std::enable_if_t< std::is_invocable_v< WorkhorseType, indexer_2d_t< 0, 0 > > > | drive_workhorse (WorkhorseType &&cabin, typed_sequence_t< RowIndices... >, typed_sequence_t< ColumnIndices... >) |
|
template<typename WorkhorseType , auto... HeightIndices, auto... RowIndices, auto... ColumnIndices> |
std::enable_if_t< std::is_invocable_v< WorkhorseType, indexer_t< 0 >, indexer_t< 0 >, indexer_t< 0 > > > | drive_workhorse (WorkhorseType &&cabin, typed_sequence_t< HeightIndices... >, typed_sequence_t< RowIndices... >, typed_sequence_t< ColumnIndices... >) |
|
template<typename WorkhorseType , auto... HeightIndices, auto... RowIndices, auto... ColumnIndices> |
std::enable_if_t< std::is_invocable_v< WorkhorseType, indexer_3d_t< 0, 0, 0 > > > | drive_workhorse (WorkhorseType &&cabin, typed_sequence_t< HeightIndices... >, typed_sequence_t< RowIndices... >, typed_sequence_t< ColumnIndices... >) |
|
template<typename WorkhorseType , auto... Indices> |
std::enable_if_t< std::is_invocable_v< remove_cvref_t< WorkhorseType >, indexer_t< 0 > > > | run_workhorse (WorkhorseType &&workhorse, typed_sequence_t< Indices... >) |
|
template<typename WorkhorseType , auto... Indices, typename dummy_sequence = sequence_info_t<StackInOrder, typed_sequence_t<1>>> |
std::enable_if_t< std::is_invocable_v< remove_cvref_t< WorkhorseType >, indexer_t< 0 >, dummy_sequence > > | run_workhorse (WorkhorseType &&workhorse, typed_sequence_t< Indices... >) |
|
template<typename TupleType , typename WorkhorseType , auto... Indices> |
std::enable_if_t< is_tuple_v< remove_cvref_t< TupleType > > &&std::is_invocable_v< remove_cvref_t< WorkhorseType >, indexer_t< 0 > > > | run_workhorse (TupleType &&tuple, WorkhorseType &&workhorse, typed_sequence_t< Indices... >) |
|
template<typename TupleType , typename WorkhorseType , auto... Indices> |
std::enable_if_t< is_tuple_v< remove_cvref_t< TupleType > > &&std::is_invocable_v< remove_cvref_t< WorkhorseType >, indexer_t< 0 >, std::tuple_element_t< 0, remove_cvref_t< TupleType > > > > | run_workhorse (TupleType &&tuple, WorkhorseType &&workhorse, typed_sequence_t< Indices... >) |
|
template<auto... Ints, typename FuncType > |
auto | for_tuple (FuncType &&f, typed_sequence_t< Ints... >) |
|
template<auto... Ints, typename FuncType > |
auto | for_tuple (typed_sequence_t< Ints... >, FuncType &&f) |
|
template<typename T > |
constexpr std::enable_if_t< true, typename std::iterator_traits< T >::value_type > | iterator_value_type_fn (T &&) |
|
constexpr no_type_t | iterator_value_type_fn (...) |
|
template<typename Type1 , typename Type2 > |
constexpr auto | is_operable_fn (Type1 &&arg1, Type2 &&arg2) noexcept(noexcept(std::declval< remove_cv_ref_t< Type1 > >()) &&noexcept(std::declval< remove_cv_ref_t< Type2 > >())) -> decltype(true ? arg1 :arg2) |
|
constexpr no_type_t | is_operable_fn (...) noexcept |
|
template<typename Type > |
constexpr auto | is_empty_available_fn (Type &&arg) noexcept(noexcept(std::declval< remove_cv_ref_t< Type > >())) -> decltype(arg.empty()) |
|
constexpr no_type_t | is_empty_available_fn (...) noexcept |
|
template<typename Type > |
constexpr auto | is_capacity_available_fn (Type &&arg) noexcept(noexcept(std::declval< remove_cv_ref_t< Type > >())) -> decltype(arg.capacity()) |
|
constexpr no_type_t | is_capacity_available_fn (...) noexcept |
|
template<typename Type > |
constexpr auto | is_shrink_to_fit_available_fn (Type &&arg) noexcept(noexcept(std::declval< remove_cv_ref_t< Type > >())) -> decltype(arg.shrink_to_fit()) |
|
constexpr no_type_t | is_shrink_to_fit_available_fn (...) noexcept |
|
template<typename Type > |
constexpr auto | is_size_available_fn (Type &&arg) noexcept(noexcept(std::declval< remove_cv_ref_t< Type > >())) -> decltype(arg.size()) |
|
constexpr no_type_t | is_size_available_fn (...) noexcept |
|
template<typename Type > |
constexpr auto | is_front_available_fn (Type &&arg) noexcept(noexcept(std::declval< remove_cv_ref_t< Type > >())) -> decltype(arg.front()) |
|
constexpr no_type_t | is_front_available_fn (...) noexcept |
|
template<typename Type > |
constexpr auto | is_back_available_fn (Type &&arg) noexcept(noexcept(std::declval< remove_cv_ref_t< Type > >())) -> decltype(arg.back()) |
|
constexpr no_type_t | is_back_available_fn (...) noexcept |
|
template<typename Type > |
constexpr auto | is_begin_available_fn (Type &&arg) noexcept(noexcept(std::declval< remove_cv_ref_t< Type > >())) -> decltype(arg.begin()) |
|
constexpr no_type_t | is_begin_available_fn (...) noexcept |
|
template<typename Type > |
constexpr auto | is_end_available_fn (Type &&arg) noexcept(noexcept(std::declval< remove_cv_ref_t< Type > >())) -> decltype(arg.end()) |
|
constexpr no_type_t | is_end_available_fn (...) noexcept |
|
template<typename Type > |
constexpr auto | is_rbegin_available_fn (Type &&arg) noexcept(noexcept(std::declval< remove_cv_ref_t< Type > >())) -> decltype(arg.rbegin()) |
|
constexpr no_type_t | is_rbegin_available_fn (...) noexcept |
|
template<typename Type > |
constexpr auto | is_rend_available_fn (Type &&arg) noexcept(noexcept(std::declval< remove_cv_ref_t< Type > >())) -> decltype(arg.rend()) |
|
constexpr no_type_t | is_rend_available_fn (...) noexcept |
|
template<template< typename, typename... > class ContainerType, typename Type , typename... Types> |
constexpr auto | is_push_front_valid_fn (ContainerType< Type, Types... > &&arg) noexcept(noexcept(std::declval< ContainerType< Type, Types... > >())) -> decltype(arg.push_front(std::declval< Type >())) |
|
constexpr no_type_t | is_push_front_valid_fn (...) noexcept |
|
template<template< typename, typename... > class ContainerType, typename Type , typename... Types> |
constexpr auto | is_index_operator_valid_fn (ContainerType< Type, Types... > &&arg) noexcept(noexcept(std::declval< ContainerType< Type, Types... > >())) -> decltype(arg.operator[]((size_t) 1)) |
|
constexpr no_type_t | is_index_operator_valid_fn (...) noexcept |
|
template<template< typename, typename... > class ContainerType, typename Type , typename... Types> |
constexpr auto | is_push_back_valid_fn (ContainerType< Type, Types... > &&arg) noexcept(noexcept(std::declval< ContainerType< Type, Types... > >())) -> decltype(arg.push_back(std::declval< Type >())) |
|
constexpr no_type_t | is_push_back_valid_fn (...) noexcept |
|
template<template< typename, typename... > class ContainerType, typename Type , typename... Types> |
constexpr auto | is_erase_valid_fn (ContainerType< Type, Types... > &&arg) -> decltype(arg.erase(arg.cbegin())) |
|
constexpr no_type_t | is_erase_valid_fn (...) |
|
template<template< typename, typename... > class ContainerType, typename Type , typename... Types> |
constexpr auto | is_reserve_valid_fn (ContainerType< Type, Types... > &&arg) -> decltype(arg.reserve((size_t) 0)) |
|
constexpr no_type_t | is_reserve_valid_fn (...) |
|
template<template< typename, typename... > class ContainerType, typename Type , typename... Types> |
constexpr auto | is_insert_valid_fn (ContainerType< Type, Types... > &&arg) noexcept(noexcept(std::declval< ContainerType< Type, Types... > >())) -> decltype(arg.insert(std::declval< Type >())) |
|
constexpr no_type_t | is_insert_valid_fn (...) noexcept |
|
template<template< typename, typename... > class ContainerType, typename Type , typename... Types> |
constexpr auto | is_insert_iterator_valid_fn (ContainerType< Type, Types... > &&arg) noexcept(noexcept(std::declval< ContainerType< Type, Types... > >())) -> decltype(arg.insert(arg.cend(), std::declval< Type >())) |
|
constexpr no_type_t | is_insert_iterator_valid_fn (...) noexcept |
|
template<template< typename, typename... > class ContainerType, typename Type , typename... Types> |
constexpr auto | is_resize_valid_fn (ContainerType< Type, Types... > &&arg) noexcept(noexcept(std::declval< ContainerType< Type, Types... > >())) -> decltype(arg.resize(std::declval< size_t >())) |
|
constexpr no_type_t | is_resize_valid_fn (...) noexcept |
|
template<template< typename, typename... > class ContainerType, typename Type , typename... Types> |
constexpr auto | is_emplace_front_valid_fn (ContainerType< Type, Types... > &&arg) noexcept(noexcept(std::declval< ContainerType< Type, Types... > >())) -> decltype(arg.emplace_front(std::declval< Type >())) |
|
constexpr no_type_t | is_emplace_front_valid_fn (...) noexcept |
|
template<template< typename, typename... > class ContainerType, typename Type , typename... Types> |
constexpr auto | is_emplace_back_valid_fn (ContainerType< Type, Types... > &&arg) noexcept(noexcept(std::declval< ContainerType< Type, Types... > >())) -> decltype(arg.emplace_back(std::declval< Type >())) |
|
constexpr no_type_t | is_emplace_back_valid_fn (...) noexcept |
|
template<template< typename, typename... > class ContainerType, typename Type , typename... Types> |
constexpr auto | is_emplace_valid_fn (ContainerType< Type, Types... > &&arg) noexcept(noexcept(std::declval< ContainerType< Type, Types... > >())) -> decltype(arg.emplace(arg.cbegin(), std::declval< Type >())) |
|
constexpr no_type_t | is_emplace_valid_fn (...) noexcept |
|
template<typename Type > |
constexpr auto | is_pop_front_available_fn (Type &&arg) noexcept(noexcept(std::declval< remove_cv_ref_t< Type > >())) -> decltype(arg.pop_front()) |
|
constexpr no_type_t | is_pop_front_available_fn (...) noexcept |
|
template<typename Type > |
constexpr auto | is_pop_back_available_fn (Type &&arg) noexcept(noexcept(std::declval< remove_cv_ref_t< Type > >())) -> decltype(arg.pop_back()) |
|
constexpr no_type_t | is_pop_back_available_fn (...) noexcept |
|
template<typename FuncType , typename... ArgTypes> |
auto | safe_apply (FuncType &&f, std::tuple< ArgTypes... > const &args) -> decltype(f(std::declval< ArgTypes >()...)) |
|
template<typename FuncType , typename ArgType , std::size_t N, std::size_t... Ints> |
auto | array_apply (FuncType &&f, std::array< ArgType, N > const &args, std::index_sequence< Ints... >) -> decltype(f(std::get< Ints >(args)...)) |
|
template<typename FuncType , typename ArgType , std::size_t N> |
auto | safe_apply (FuncType &&f, std::array< ArgType, N > const &args) -> decltype(array_apply(f, args, std::make_index_sequence< N >{})) |
|
template<typename FuncType , typename TupleType > |
auto | fn_apply (FuncType &&f, TupleType &&args) -> decltype(safe_apply(f, args)) |
|
template<typename FuncType , typename... ArgTypes> |
auto | function_return_type_fn (FuncType &&func, ArgTypes &&... args) -> decltype(func(args...)) |
|
template<typename... ArgTypes1, typename... ArgTypes2> |
auto | tuple_addition_operator (const std::tuple< ArgTypes1... > &tuple_a, const std::tuple< ArgTypes2... > &tuple_b) |
|
template<typename... ArgTypes1, typename... ArgTypes2, auto... Indices> |
auto | tuple_addition (const std::tuple< ArgTypes1... > &tuple_a, const std::tuple< ArgTypes2... > &tuple_b, types::typed_sequence_t< Indices... >) |
|
template<auto... Ints, typename FuncType > |
auto | for_array (FuncType &&f, typed_sequence_t< Ints... >) |
|
template<auto... Ints, typename FuncType > |
auto | for_array (typed_sequence_t< Ints... >, FuncType &&f) |
|
template<auto... Ints, typename FuncType > |
auto | for_vector (FuncType &&f, typed_sequence_t< Ints... >) |
|
template<auto... Ints, typename FuncType > |
auto | for_vector (typed_sequence_t< Ints... >, FuncType &&f) |
|
template<typename ArrayType , typename TupleType , auto... Indices> |
auto | set_tuple_to_array (TupleType &&tuple, typed_sequence_t< Indices... >) |
|
template<typename ContainerType , typename TupleType , auto... Indices> |
auto | set_tuple_to_container (TupleType &&tuple, typed_sequence_t< Indices... >) |
|
template<typename T , size_t Size, auto... Indices> |
auto | set_array_to_tuple (const std::array< T, Size > &array, typed_sequence_t< Indices... >) |
|
template<template< typename, size_t > class ReturnClass, typename TupleType , auto... Indices, typename... ArgTypes> |
auto | evaluate_lambdas (typed_sequence_t< Indices... >, TupleType &&tuple, ArgTypes &&... args) |
|
template<template< typename, size_t > class ReturnClass, typename TupleType , auto... Indices, typename ArgTuple > |
auto | evaluate_lambdas_tuple (typed_sequence_t< Indices... >, TupleType &&tuple, ArgTuple &&arguments) |
|
|
template<typename Type > |
constexpr bool | is_tag_type_v = st_is_tag_type_v<Type>::value |
|
template<typename Type > |
constexpr bool | is_integer_sequence_v = st_is_integer_sequence<Type>::value |
|
template<typename T > |
constexpr bool | is_type_list_v = st_is_type_list<remove_cv_ref_t<T>>::value |
|
template<typename Type > |
constexpr bool | is_template_type_v = st_is_template_type<Type>::value |
|
template<typename Type > |
constexpr auto | is_variant_v = is_variant_st<Type>::value |
|
template<typename Type > |
constexpr auto | is_unique_ptr_v = is_unique_ptr_st<Type>::value |
|
template<typename Type > |
constexpr auto | is_pair_v = is_pair_st<Type>::value |
|
template<typename Type > |
constexpr auto | is_pair_of_variant_v = is_pair_of_variant_st<Type>::value |
|
template<typename Type > |
constexpr auto | is_map_or_unordered_map_v = is_map_or_unordered_map_st<remove_cv_ref_t<Type>>::value |
|
template<typename Type > |
constexpr auto | is_set_or_unordered_set_v = is_set_or_unordered_set_st<Type>::value |
|
template<typename Type > |
constexpr auto | is_tuple_v = is_tuple_st<Type>::value |
|
template<typename Type > |
constexpr auto | is_tuple_empty_v = is_tuple_st<Type>::empty |
|
template<typename Type > |
constexpr auto | is_any_v = is_any_st<Type>::value |
|
template<typename Type > |
constexpr auto | is_basic_string_v = is_basic_string_st<Type>::value |
|
template<typename Type > |
constexpr bool | is_char_v = is_char_st<tpf::remove_cv_ref_t<Type>>::value |
|
template<typename Type > |
constexpr auto | tuple_size_v = st_tuple_size<Type>::value |
|
no_type_t | addition_vaild_fn (...) |
|
template<typename T , typename S > |
constexpr bool | is_addition_valid_v |
|
no_type_t | subtraction_vaild_fn (...) |
|
template<typename T , typename S > |
constexpr bool | is_subtraction_valid_v |
|
no_type_t | multiplication_vaild_fn (...) |
|
template<typename T , typename S > |
constexpr bool | is_multiplication_valid_v |
|
no_type_t | division_vaild_fn (...) |
|
template<typename T , typename S > |
constexpr bool | is_division_valid_v |
|
template<typename T , typename S > |
constexpr bool | is_arithmetic_valid_v |
|
template<typename T > |
constexpr auto | sequence_first_element_v = st_sequence_first_element<T>::value |
|
template<typename T > |
constexpr auto | sequence_last_element_v = st_sequence_last_element<T>::value |
|
template<auto Nth, typename SequenceType > |
constexpr auto | sequence_nth_element_v = st_sequence_nth_element<Nth, SequenceType>::value |
|
template<typename T > |
constexpr auto | sequence_element_count_v = st_sequence_element_count<T>::value |
|
template<typename SequenceType > |
constexpr auto | sequence_span_v = st_sequence_span<SequenceType>::value |
|
template<typename... Types> |
constexpr auto | type_count_v = type_count_st<Types...>::value |
|
template<typename T > |
constexpr bool | is_iterator_type_v |
|
template<typename T > |
constexpr bool | is_iterator_excluding_pointer_v |
|
template<typename Type > |
constexpr auto | is_template_v = is_template_st<Type>::value |
|
template<typename Type > |
constexpr auto | template_parameter_count = is_template_st<Type>::count |
|
template<typename Type1 , typename Type2 > |
constexpr auto | is_same_template_type_v = is_same_template_type_st<Type1, Type2>::value |
|
template<typename Type1 , typename Type2 > |
constexpr auto | is_same_template_v = is_same_template_st<Type1, Type2>::value |
|
template<typename Type > |
constexpr auto | is_string_v = is_string_st<remove_cv_ref_t<Type>>::value |
|
template<typename Type1 , typename Type2 > |
constexpr auto | is_operable_v |
|
template<typename Type > |
constexpr bool | is_empty_available_v |
|
template<typename Type > |
constexpr bool | is_capacity_available_v |
|
template<typename Type > |
constexpr bool | is_shrink_to_fit_available_v |
|
template<typename Type > |
constexpr bool | is_size_available_v |
|
template<typename Type > |
constexpr bool | is_front_available_v |
|
template<typename Type > |
constexpr bool | is_back_available_v = is_valid_type_v<decltype(is_back_available_fn(std::declval<Type>()))> |
|
template<typename Type > |
constexpr bool | is_begin_available_v |
|
template<typename Type > |
constexpr bool | is_end_available_v |
|
template<typename Type > |
constexpr bool | is_rbegin_available_v |
|
template<typename Type > |
constexpr bool | is_rend_available_v |
|
template<typename Type > |
constexpr bool | is_push_front_available_v |
|
template<typename Type > |
constexpr bool | is_index_operator_available_v |
|
template<typename Type > |
constexpr bool | is_push_back_available_v |
|
template<typename Type > |
constexpr bool | is_erase_available_v |
|
template<typename Type > |
constexpr bool | is_reserve_available_v |
|
template<typename Type > |
constexpr bool | is_insert_available_v |
|
template<typename Type > |
constexpr bool | is_insert_iterator_available_v |
|
template<typename Type > |
constexpr bool | is_resize_available_v |
|
template<typename Type > |
constexpr bool | is_emplace_front_available_v |
|
template<typename Type > |
constexpr bool | is_emplace_back_available_v |
|
template<typename Type > |
constexpr bool | is_emplace_available_v |
|
template<typename Type > |
constexpr bool | is_pop_front_available_v |
|
template<typename Type > |
constexpr bool | is_pop_back_available_v |
|
template<typename Type > |
constexpr bool | is_container_type_v |
|
template<typename Type , typename... Types> |
constexpr auto | is_same_v = is_same_st<Type, Types...>::value |
|
template<typename TestType , typename... Types> |
constexpr bool | is_in_list_v = is_in_list_st<TestType, Types...>::value |
|
template<typename TypeList , typename... TestTypes> |
constexpr auto | are_all_in_list_v = are_all_in_list_st<TypeList, TestTypes...>::value |
|
template<typename Type > |
constexpr auto | is_integer_v = is_in_list_v<Type, integer_list_t> |
|
template<typename Type > |
constexpr auto | is_unsigned_integer_v = is_in_list_v<Type, unsigned_integer_list_t> |
|
template<typename Type > |
constexpr auto | is_signed_integer_v = is_in_list_v<Type, signed_integer_list_t> |
|
template<typename Type > |
constexpr auto | is_integral_v = is_in_list_v<Type, integral_list_t> |
|
template<typename Type > |
constexpr auto | is_unsigned_integral_v = is_in_list_v<Type, unsigned_integral_list_t> |
|
template<typename Type > |
constexpr auto | is_signed_integral_v = is_in_list_v<Type, signed_integral_list_t> |
|
template<typename Type > |
constexpr auto | is_real_number_v = is_in_list_v<Type, real_number_list_t> |
|
template<typename Type > |
constexpr auto | is_numerical_number_v = is_in_list_v<Type, numerical_number_list_t> |
|
template<typename... Types> |
constexpr auto | are_integers_v = are_all_in_list_v<integer_list_t, Types...> |
|
template<typename... Types> |
constexpr auto | are_unsigned_integers_v = are_all_in_list_v<unsigned_integer_list_t, Types...> |
|
template<typename... Types> |
constexpr auto | are_signed_integers_v = are_all_in_list_v<signed_integer_list_t, Types...> |
|
template<typename... Types> |
constexpr auto | are_integrals_v = are_all_in_list_v<integral_list_t, Types...> |
|
template<typename... Types> |
constexpr auto | are_unsigned_integrals_v = are_all_in_list_v<unsigned_integral_list_t, Types...> |
|
template<typename... Types> |
constexpr auto | are_signed_integrals_v = are_all_in_list_v<signed_integral_list_t, Types...> |
|
template<typename... Types> |
constexpr auto | are_real_numbers_v = are_all_in_list_v<real_number_list_t, Types...> |
|
template<typename... Types> |
constexpr auto | are_numerical_numbers_v = are_all_in_list_v<numerical_number_list_t, Types...> |
|
template<typename... Types> |
constexpr auto | common_type_v = is_valid_type_v<common_type_t<Types...>> |
|
template<typename Type > |
constexpr auto | is_reference_wrapper_v |
|
template<typename Type > |
constexpr auto | is_template_template_v = is_template_v<first_parameter_type_t<Type>> |
|
template<typename ArgType , typename... Types> |
constexpr auto | is_type_in_list_v = is_type_in_list_st<ArgType, Types...>::value |
|
template<typename LeftList , typename RightList > |
constexpr auto | is_type_list_equivalent_v = is_type_list_equivalent_st<LeftList, RightList>::value |
|
no_type_t | array_apply (...) |
|
no_type_t | safe_apply (...) |
|
no_type_t | fn_apply (...) |
|
no_type_t | function_return_type_fn (...) |
|
template<typename FuncType , typename... ArgTypes> |
constexpr bool | is_callable_v = !is_no_type_v<function_return_type_t<FuncType, ArgTypes...>> |
|
template<typename FuncType , typename... ArgTypes> |
constexpr bool | is_void_return_type_v |
|
template<typename TupleType > |
constexpr bool | has_tuple_common_type_v = st_has_tuple_common_type<TupleType>::value |
|