EnTT: src/entt/meta/template.hpp Source File

EnTT 3.16.0

Loading...
Searching...
No Matches
template.hpp
1// IWYU pragma: always_keep
2
3#ifndef ENTT_META_TEMPLATE_HPP
4#define ENTT_META_TEMPLATE_HPP
5
6#include "../core/type_traits.hpp"
7
8namespace entt {
9
11template<template<typename...> class>
12 struct meta_class_template_tag {};
13
19template<template<typename...> class Clazz, typename... Args>
20 struct meta_template_traits<Clazz<Args...>> {
22 using class_type = meta_class_template_tag<Clazz>;
24 using args_type = type_list<Args...>;
25};
26
27} // namespace entt
28
29#endif
entt
EnTT default namespace.
Definition dense_map.hpp:22
entt::meta_class_template_tag
Utility class to disambiguate class templates.
Definition template.hpp:12
entt::meta_template_traits< Clazz< Args... > >::class_type
meta_class_template_tag< Clazz > class_type
Wrapped class template.
Definition template.hpp:22
entt::meta_template_traits< Clazz< Args... > >::args_type
type_list< Args... > args_type
List of template arguments.
Definition template.hpp:24
entt::meta_template_traits
Traits class template to be specialized to enable support for meta template information.
Definition type_traits.hpp:14
entt::type_list
A class to use to push around lists of types, nothing more.
Definition type_traits.hpp:111