cpp-reflect
C++ Reflection and Annotations Library
Loading...
Searching...
No Matches
_types.cppm
Go to the documentation of this file.
1
// Copyright (c) 2024-2025, Víctor Castillo Agüero.
2
// SPDX-License-Identifier: GPL-3.0-or-later
3
8
9
export
module
reflect:types
;
10
11
import
std;
12
13
export
namespace
refl
{
14
template
<
typename
T>
15
using
static_type_info
=
typename
T::__type_info__;
16
17
template
<
typename
T>
18
concept
is_type_info
=
requires
{
19
typename
T::field_types;
20
typename
T::field_sizes;
21
typename
T::field_offsets;
22
};
23
24
template
<
typename
T>
25
concept
Reflected
=
requires
{
26
// typename T::__type_info__;
27
is_type_info<typename T::__type_info__>
;
28
};
29
30
using
type_id_t
= std::size_t;
31
}
// namespace refl
32
33
export
{
34
template
<
typename
... T>
35
struct
refl_pack
;
36
template
<
unsigned
long
... T>
37
struct
refl_int_pack
;
38
39
template
<
typename
... T>
40
using
refl_tuple
= std::tuple<T...>;
41
}
refl_tuple
std::tuple< T... > refl_tuple
Definition
_types.cppm:40
refl::Reflected
Definition
_types.cppm:25
refl::is_type_info
Definition
_types.cppm:18
reflect
refl
Definition
_types.cppm:13
refl::type_id_t
std::size_t type_id_t
Definition
_types.cppm:30
refl::static_type_info
typename T::__type_info__ static_type_info
Definition
_types.cppm:15
refl_int_pack
Definition
_types.cppm:37
refl_pack
Definition
_types.cppm:35
src
_types.cppm
Generated by
1.13.2