rcpputils
master
C++ API providing common utilities and data structures.
|
Go to the documentation of this file.
19 #ifndef RCPPUTILS__POINTER_TRAITS_HPP_
20 #define RCPPUTILS__POINTER_TRAITS_HPP_
23 #include <type_traits>
44 struct is_smart_pointer : is_smart_pointer_helper<typename std::remove_cv<T>::type>
57 struct remove_pointer<T, true>
92 details::is_smart_pointer<typename std::remove_reference<T>::type>
::value;
106 using type =
typename details::remove_pointer<
112 #endif // RCPPUTILS__POINTER_TRAITS_HPP_
Definition: asserts.hpp:37
typename details::remove_pointer< typename std::remove_reference< T >::type, details::is_smart_pointer< T >::value >::type type
Definition: pointer_traits.hpp:107
Type traits for validating if T is of type pointer or smart pointer.
Definition: pointer_traits.hpp:88
Type traits for deducing the data type of T from a pointer or smart pointer.
Definition: pointer_traits.hpp:104
static constexpr bool value
Indicates whether this object is a pointer or smart pointer.
Definition: pointer_traits.hpp:91