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.