|
@@ -334,12 +334,13 @@ template<typename, template<typename...> class>
|
|
|
struct type_list_transform;
|
|
struct type_list_transform;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * @brief Computes the difference between two type lists.
|
|
|
|
|
|
|
+ * @brief Applies a given _function_ to a type list and generate a new list.
|
|
|
* @tparam Type Types provided by the type list.
|
|
* @tparam Type Types provided by the type list.
|
|
|
* @tparam Op Unary operation as template class with a type member named `type`.
|
|
* @tparam Op Unary operation as template class with a type member named `type`.
|
|
|
*/
|
|
*/
|
|
|
template<typename... Type, template<typename...> class Op>
|
|
template<typename... Type, template<typename...> class Op>
|
|
|
struct type_list_transform<type_list<Type...>, Op> {
|
|
struct type_list_transform<type_list<Type...>, Op> {
|
|
|
|
|
+ /*! @brief Resulting type list after applying the transform function. */
|
|
|
using type = type_list<typename Op<Type>::type...>;
|
|
using type = type_list<typename Op<Type>::type...>;
|
|
|
};
|
|
};
|
|
|
|
|
|