46#include <pcl/type_traits.h>
63#define PCL_MAKE_ALIGNED_OPERATOR_NEW \
64 EIGEN_MAKE_ALIGNED_OPERATOR_NEW \
65 using _custom_allocator_type_trait = void;
87using std::dynamic_pointer_cast;
90using std::static_pointer_cast;
110template<
typename T,
typename ... Args>
115template<
typename T,
typename ... Args>
116std::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)...);
121template<
typename T,
typename ... Args>
122std::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.