46 #include <pcl/type_traits.h>
51 #include <type_traits>
63 #define PCL_MAKE_ALIGNED_OPERATOR_NEW \
64 EIGEN_MAKE_ALIGNED_OPERATOR_NEW \
65 using _custom_allocator_type_trait = void;
77 using std::shared_ptr;
87 using std::dynamic_pointer_cast;
90 using std::static_pointer_cast;
110 template<
typename T,
typename ... Args>
115 template<
typename T,
typename ... Args>
116 std::enable_if_t<has_custom_allocator<T>::value, shared_ptr<T>>
make_shared(Args&&... args)
118 return std::allocate_shared<T>(Eigen::aligned_allocator<T>(), std::forward<Args> (args)...);
121 template<
typename T,
typename ... Args>
122 std::enable_if_t<!has_custom_allocator<T>::value, shared_ptr<T>>
make_shared(Args&&... args)
124 return std::make_shared<T>(std::forward<Args> (args)...);
shared_ptr< T > make_shared(Args &&... args)
Returns a pcl::shared_ptr compliant with type T's allocation policy.