mirror of
https://github.com/quizhizhe/LiteLoaderBDS-1.16.40.git
synced 2025-06-05 03:43:40 +00:00
34 lines
746 B
C++
34 lines
746 B
C++
#ifndef ENTT_META_TEMPLATE_HPP
|
|
#define ENTT_META_TEMPLATE_HPP
|
|
|
|
|
|
#include "../core/type_traits.hpp"
|
|
|
|
|
|
namespace entt {
|
|
|
|
|
|
/*! @brief Utility class to disambiguate class templates. */
|
|
template<template<typename...> typename>
|
|
struct meta_class_template_tag {};
|
|
|
|
|
|
/**
|
|
* @brief General purpose traits class for generating meta template information.
|
|
* @tparam Clazz Type of class template.
|
|
* @tparam Args Types of template arguments.
|
|
*/
|
|
template<template<typename...> typename Clazz, typename... Args>
|
|
struct meta_template_traits<Clazz<Args...>> {
|
|
/*! @brief Wrapped class template. */
|
|
using class_type = meta_class_template_tag<Clazz>;
|
|
/*! @brief List of template arguments. */
|
|
using args_type = type_list<Args...>;
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
#endif
|