EnTT 3.14.0
Loading...
Searching...
No Matches
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
10namespace entt {
11
16template<typename Type>
18 : std::true_type {};
19
25template<typename Type, std::size_t N>
26// NOLINTNEXTLINE(cppcoreguidelines-avoid-c-arrays, modernize-avoid-c-arrays)
27struct is_meta_pointer_like<Type (*)[N]>
28 : std::false_type {};
29
35template<typename Type>
37 : std::true_type {};
38
45template<typename Type, typename... Args>
46struct is_meta_pointer_like<std::unique_ptr<Type, Args...>>
47 : std::true_type {};
48
49} // namespace entt
50
51#endif
EnTT default namespace.
Definition dense_map.hpp:22
constexpr Type make_obj_using_allocator(const Allocator &allocator, Args &&...args)
Uses-allocator construction utility (waiting for C++20).
Definition memory.hpp:219
Provides the member constant value to true if a given type is a pointer-like type from the point of v...