sandbox
Loading...
Searching...
No Matches
meta.hpp
1
// SPDX-License-Identifier: MIT
2
#ifndef LIBSBX_ECS_META_HPP_
3
#define LIBSBX_ECS_META_HPP_
4
5
#include <type_traits>
6
7
#include <libsbx/utility/hashed_string.hpp>
8
9
namespace
sbx::ecs {
10
11
template
<
typename
Type>
12
struct
meta
;
13
14
template
<
typename
Type,
typename
=
void
>
15
struct
has_meta
: std::false_type { };
16
17
template
<
typename
Type>
18
struct
has_meta
<Type, std::void_t<decltype(std::declval<meta<Type>>()(std::declval<const utility::hashed_string&>(), std::declval<Type&>()))>> : std::true_type { };
19
20
template
<
typename
Type>
21
constexpr
bool
has_meta_v =
has_meta<Type>::value
;
22
23
}
// namespace sbx::ecs
24
25
#endif
// LIBSBX_ECS_META_HPP_
sbx::ecs::has_meta
Definition:
meta.hpp:15
sbx::ecs::meta
Definition:
meta.hpp:12
libsbx-ecs
libsbx
ecs
meta.hpp
Generated by
1.9.5