capydi
Loading...
Searching...
No Matches
PackMap.hpp
Go to the documentation of this file.
1#ifndef MAP_PACK_HPP_
2#define MAP_PACK_HPP_
3
5
6namespace capy::meta::legacy
7{
8
9template<
10 typename Pack_,
11 template<typename> typename Mapper
12>
13struct PackMap;
14
15template<
16 template<typename> typename Mapper,
17 typename... PackElements
18>
19struct PackMap<
20 Pack<PackElements...>,
21 Mapper
22>
23{
24 using type = Pack<
25 typename Mapper<PackElements>::type...
26 >;
27};
28
29template<
30 template<typename> typename Mapper
31>
32struct PackMap<
33 Pack<>,
34 Mapper
35>
36{
37 using type = Pack<>;
38};
39
40template<
41 typename Pack_,
42 template<typename> typename Mapper
43>
45
46}
47
48#endif // !MAP_PACK_HPP_
Compile-time type pack utilities and metaprogramming foundations.
Definition Append.hpp:7
typename PackMap< Pack_, Mapper >::type pack_map_t
Definition PackMap.hpp:44
A compile-time heterogeneous type list.
Definition Pack.hpp:70
Pack< typename Mapper< PackElements >::type... > type
Definition PackMap.hpp:24
Pack<> type
Definition PackMap.hpp:37
Definition PackMap.hpp:13