ECSTASY
All in the name
Loading...
Searching...
No Matches
apply.hpp
Go to the documentation of this file.
1
11
12#ifndef UTIL_META_APPLY_HPP_
13#define UTIL_META_APPLY_HPP_
14
15#include "Traits.hpp"
16
17namespace util::meta
18{
32 template <template <typename> typename Functor, typename... Ts>
33 struct apply {
35 };
36
38 template <template <typename> typename Functor, typename... Ts>
39 struct apply<Functor, Traits<Ts...>> {
41 };
42
52 template <template <typename> typename Functor, typename... Ts>
53 using apply_t = typename apply<Functor, Ts...>::type;
54} // namespace util::meta
55
56#endif /* !UTIL_META_APPLY_HPP_ */
Helper types for parameter packs.
Namespace regrouping all meta programmation helper types.
typename apply< Functor, Ts... >::type apply_t
Helper for apply<...>::type.
Definition apply.hpp:53
Empty parameter pack helper type.
Definition Traits.hpp:28
Apply a modification on all types in Ts.
Definition apply.hpp:33