41 #include <type_traits>
44 #include <boost/make_shared.hpp>
45 #include <boost/shared_ptr.hpp>
47 #include <pcl/point_traits.h>
67 template<
typename T,
typename ... Args>
72 template<
typename T,
typename ... Args>
73 std::enable_if_t<has_custom_allocator<T>::value, shared_ptr<T>>
make_shared(Args&&... args)
75 return boost::allocate_shared<T>(Eigen::aligned_allocator<T>(), std::forward<Args> (args)...);
78 template<
typename T,
typename ... Args>
79 std::enable_if_t<!has_custom_allocator<T>::value, shared_ptr<T>>
make_shared(Args&&... args)
81 return boost::make_shared<T>(std::forward<Args> (args)...);