capydi
Loading...
Searching...
No Matches
FixTemplateMetaArity.hpp File Reference
Include dependency graph for FixTemplateMetaArity.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  capy
namespace  capy::meta
namespace  capy::meta::implementation_details_

Macros

#define PACK(...)
#define DEUNIFY_TEMPLATE(MetaArity, TemplateType, ExpandedArgs)

Typedefs

template<MetaArity ARITY, template< typename... > typename Template>
using capy::meta::fix_template_arity_ft = typename implementation_details_::FixTemplateArityTyped<ARITY, Template>
template<MetaArity ARITY, template< typename... > typename Template>
using capy::meta::fix_template_arity_fv = typename implementation_details_::FixTemplateArityValued<ARITY, Template>

Functions

 capy::meta::implementation_details_::DEUNIFY_TEMPLATE (MetaArity::N1, PACK(template< class T >), PACK(T))
 capy::meta::implementation_details_::DEUNIFY_TEMPLATE (MetaArity::N2, PACK(template< class T1, class T2 >), PACK(T1, T2))
 capy::meta::implementation_details_::DEUNIFY_TEMPLATE (MetaArity::N3, PACK(template< class T1, class T2, class T3 >), PACK(T1, T2, T3))
 capy::meta::implementation_details_::DEUNIFY_TEMPLATE (MetaArity::N4, PACK(template< class T1, class T2, class T3, class T4 >), PACK(T1, T2, T3, T4))
 capy::meta::implementation_details_::DEUNIFY_TEMPLATE (MetaArity::N5, PACK(template< class T1, class T2, class T3, class T4, class T5 >), PACK(T1, T2, T3, T4, T5))
 capy::meta::implementation_details_::DEUNIFY_TEMPLATE (MetaArity::N6, PACK(template< class T1, class T2, class T3, class T4, class T5, class T6 >), PACK(T1, T2, T3, T4, T5, T6))
 capy::meta::implementation_details_::DEUNIFY_TEMPLATE (MetaArity::N7, PACK(template< class T1, class T2, class T3, class T4, class T5, class T6, class T7 >), PACK(T1, T2, T3, T4, T5, T6, T7))
 capy::meta::implementation_details_::DEUNIFY_TEMPLATE (MetaArity::N8, PACK(template< class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8 >), PACK(T1, T2, T3, T4, T5, T6, T8))
 capy::meta::implementation_details_::DEUNIFY_TEMPLATE (MetaArity::N9, PACK(template< class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9 >), PACK(T1, T2, T3, T4, T5, T6, T8, T9))
 capy::meta::implementation_details_::DEUNIFY_TEMPLATE (MetaArity::N10, PACK(template< class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10 >), PACK(T1, T2, T3, T4, T5, T6, T8, T9, T10))
 capy::meta::implementation_details_::DEUNIFY_TEMPLATE (MetaArity::N11, PACK(template< class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11 >), PACK(T1, T2, T3, T4, T5, T6, T8, T9, T10, T11))
 capy::meta::implementation_details_::DEUNIFY_TEMPLATE (MetaArity::N12, PACK(template< class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12 >), PACK(T1, T2, T3, T4, T5, T6, T8, T9, T10, T11, T12))
 capy::meta::implementation_details_::DEUNIFY_TEMPLATE (MetaArity::N13, PACK(template< class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13 >), PACK(T1, T2, T3, T4, T5, T6, T8, T9, T10, T11, T12, T13))
 capy::meta::implementation_details_::DEUNIFY_TEMPLATE (MetaArity::N14, PACK(template< class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14 >), PACK(T1, T2, T3, T4, T5, T6, T8, T9, T10, T11, T12, T13, T14))
 capy::meta::implementation_details_::DEUNIFY_TEMPLATE (MetaArity::N15, PACK(template< class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15 >), PACK(T1, T2, T3, T4, T5, T6, T8, T9, T10, T11, T12, T13, T14, T15))
 capy::meta::implementation_details_::DEUNIFY_TEMPLATE (MetaArity::N16, PACK(template< class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16 >), PACK(T1, T2, T3, T4, T5, T6, T8, T9, T10, T11, T12, T13, T14, T15, T16))

Macro Definition Documentation

◆ DEUNIFY_TEMPLATE

#define DEUNIFY_TEMPLATE ( MetaArity,
TemplateType,
ExpandedArgs )
Value:
template< \
template<typename...> typename Template \
> \
struct FixTemplateArityTyped<MetaArity, Template> \
{ \
TemplateType \
struct Functor \
{ \
using type = typename Template<ExpandedArgs>::type; \
}; \
}; \
\
template< \
template<typename...> typename Template \
> \
struct FixTemplateArityValued<MetaArity, Template> \
{ \
TemplateType \
struct Functor \
{ \
static constexpr auto value \
= Template<ExpandedArgs>::value; \
}; \
}
MetaArity
Definition MetaArity.hpp:11

◆ PACK

#define PACK ( ...)
Value:
__VA_ARGS__