EnTT  3.10.0
pointer.hpp
1 #ifndef ENTT_META_POINTER_HPP
2 #define ENTT_META_POINTER_HPP
3 
4 #include <memory>
5 #include <type_traits>
6 #include "type_traits.hpp"
7 
8 namespace entt {
9 
14 template<typename Type>
15 struct is_meta_pointer_like<Type *>
16  : std::true_type {};
17 
23 template<typename Type, std::size_t N>
24 struct is_meta_pointer_like<Type (*)[N]>
25  : std::false_type {};
26 
32 template<typename Type>
33 struct is_meta_pointer_like<std::shared_ptr<Type>>
34  : std::true_type {};
35 
42 template<typename Type, typename... Args>
43 struct is_meta_pointer_like<std::unique_ptr<Type, Args...>>
44  : std::true_type {};
45 
46 } // namespace entt
47 
48 #endif
EnTT default namespace.
Definition: dense_map.hpp:22
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:36