103 int array[]{2, 3, 5, 7, 11, 13, 17, 19};
121 for(
auto& e: {2, 4, 6, 8, 10})
138template<
typename Type>
141 stream <<
"The type of Type: "
144 return std::is_array_v<Type>;
147template<
typename Type>
150 stream <<
"The type of Type: "
153 return std::is_array_v<Type>;
156template<
typename Type>
159template<
typename Type>
162 return is_array_type_v<Type>;
167 int array[]{1, 2, 3};
171 stream <<
"\nUsing is_array(), is array an array? "
174 stream <<
"\nUsing is_array(), is array an array? "
178template<
typename Type,
typename... Types>
183 using types_of_function_call_parameters =
186 stream <<
"types_of_Types: " << types_of_Types{} <<
endl;
188 stream <<
"types_of_function_call_parameters: "
189 << types_of_function_call_parameters{} <<
endl;
192template<
typename Type,
typename... Types>
197 using types_of_function_call_parameters =
200 stream <<
"types_of_Types: " << types_of_Types{} <<
endl;
202 stream <<
"types_of_function_call_parameters: "
203 << types_of_function_call_parameters{} <<
endl;
void variadic_parametered_function(Type arg, Types... args)
void test_is_parameter_array()
void test_variadic_parameters()
bool is_array(Type &¶m)
bool is_array_fixed(Type &¶m)
void test_reverse_range_based_for()
void variadic_forwarding_reference_parametered_function(Type &&arg, Types &&... args)
void test_variadic_forwarding_reference_parameters()
bool is_parameter_array(Type param)
constexpr bool is_array_type_v
decltype(auto) reverse(ContainerType &&container)
decltype(auto) make_vector(Type &&arg, Types &&... args)
This type is used to manipulate type list.
Stream output operators << are implemented.
#define Tpf_GetTypeName(type_arg)
A macro that returns type_arg's string name.