EnTT  3.8.1
pointer.hpp
1 #ifndef ENTT_META_POINTER_HPP
2 #define ENTT_META_POINTER_HPP
3 
4 
5 #include <memory>
6 #include <type_traits>
7 #include "type_traits.hpp"
8 
9 
10 namespace entt {
11 
12 
17 template<typename Type>
18 struct is_meta_pointer_like<Type *>
19  : std::true_type
20 {};
21 
22 
28 template<typename Type, std::size_t N>
29 struct is_meta_pointer_like<Type(*)[N]>
30  : std::false_type
31 {};
32 
33 
39 template<typename Type>
40 struct is_meta_pointer_like<std::shared_ptr<Type>>
41  : std::true_type
42 {};
43 
44 
51 template<typename Type, typename... Args>
52 struct is_meta_pointer_like<std::unique_ptr<Type, Args...>>
53  : std::true_type
54 {};
55 
56 
57 }
58 
59 
60 #endif
EnTT default namespace.
Definition: algorithm.hpp:13
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:65