SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
|
A traits class to provide a uniform interface to the properties of a function type. More...
#include <seqan3/utility/type_traits/function_traits.hpp>
Public Types | |
template<size_t index> | |
using | argument_type_at = pack_traits::at< index, args_t... > |
The argument type at the given index . | |
using | result_type = return_t |
The return type of the function target. | |
Static Public Attributes | |
static constexpr size_t | argument_count = sizeof...(args_t) |
The number of arguments passed to the std::function target. | |
A traits class to provide a uniform interface to the properties of a function type.
return_t | The return type of the function. |
args_t | A template parameter pack over the argument types of the function. |
seqan3::function_traits is the type trait class that provides a uniform interface to the properties of a std::function type, a lambda type, a function type or a function pointer type. This makes it possible to access the return type and the argument types of the stored target function. The function types must be complete, i.e. all argument types and the return type must be known, otherwise this traits class is incomplete.
using seqan3::function_traits< std::function< return_t(args_t...)> >::argument_type_at = pack_traits::at<index, args_t...> |
The argument type at the given index
.
index | The position of the argument to get the type for; must be smaller than argument_count . |