capydi
Loading...
Searching...
No Matches
BoostMP11Adapter.hpp
Go to the documentation of this file.
1#ifndef CAPYDI_BOOST_MP11_ADAPTER_HPP_
2#define CAPYDI_BOOST_MP11_ADAPTER_HPP_
3
4#ifdef BOOST_FOUND
8
9#include <boost/mp11.hpp>
10
11namespace capy::meta::boost_adapters
12{
13
14template<typename Pack_>
15using as_mp_list = rebind_t<Pack_, Pack, boost::mp11::mp_list>;
16
17template<typename MpList>
18using as_pack = rebind_t<MpList, boost::mp11::mp_list, Pack>;
19
20template<
21 MetaArity ARITY,
22 t_trait<ARITY> TypeFunctor
23>
24struct AdaptTTrait
25{
26 template<typename... Types>
27 using Functor = typename TypeFunctor::template Functor<Types...>::type;
28};
29
30template<
31 MetaArity ARITY,
32 t_trait<ARITY> TypeFunctor
33>
34using adapt_t_trait_t = AdaptTTrait<ARITY, TypeFunctor>;
35
36}
37
38#endif // BOOST_FOUND
39
40#endif // !CAPYDI_BOOST_MP11_ADAPTER_HPP_
Compile-time type pack utilities and metaprogramming foundations.
MetaArity
Definition MetaArity.hpp:11