EnTT
3.14.0
Loading...
Searching...
No Matches
src
entt
meta
pointer.hpp
1
// IWYU pragma: always_keep
2
3
#ifndef ENTT_META_POINTER_HPP
4
#define ENTT_META_POINTER_HPP
5
6
#include <memory>
7
#include <type_traits>
8
#include "type_traits.hpp"
9
10
namespace
entt
{
11
16
template
<
typename
Type>
17
struct
is_meta_pointer_like
<Type *>
18
: std::true_type {};
19
25
template
<
typename
Type, std::
size_t
N>
26
// NOLINTNEXTLINE(cppcoreguidelines-avoid-c-arrays, modernize-avoid-c-arrays)
27
struct
is_meta_pointer_like
<Type (*)[
N
]>
28
: std::false_type {};
29
35
template
<
typename
Type>
36
struct
is_meta_pointer_like
<std::
shared_ptr
<Type>>
37
: std::true_type {};
38
45
template
<
typename
Type,
typename
...
Args
>
46
struct
is_meta_pointer_like
<std::
unique_ptr
<Type, Args...>>
47
: std::true_type {};
48
49
}
// namespace entt
50
51
#endif
entt
EnTT default namespace.
Definition
dense_map.hpp:22
entt::make_obj_using_allocator
constexpr Type make_obj_using_allocator(const Allocator &allocator, Args &&...args)
Uses-allocator construction utility (waiting for C++20).
Definition
memory.hpp:219
entt::is_meta_pointer_like
Provides the member constant value to true if a given type is a pointer-like type from the point of v...
Definition
type_traits.hpp:35
Generated by
1.10.0