1 #ifndef ApproxMVBB_Common_MyContainerTypeDefs_hpp 2 #define ApproxMVBB_Common_MyContainerTypeDefs_hpp 9 #include <unordered_map> 10 #include <Eigen/StdVector> 12 #include <Eigen/Dense> 18 namespace MyContainers {
21 template<
typename Key,
typename Type,
typename Comp = std::less<Key> >
22 using StdMapAligned = std::map<Key, Type, Comp, Eigen::aligned_allocator<std::pair<const Key, Type> > >;
25 template<
typename Key,
typename Type,
typename Hash = std::hash<Key>,
typename Pred = std::equal_to<Key> >
26 using StdUMapAligned = std::unordered_map<Key, Type, Hash, Pred, Eigen::aligned_allocator<std::pair<const Key, Type> > >;
29 template<
typename Type >
30 using StdVecAligned = std::vector<Type, Eigen::aligned_allocator<Type> >;
38 #define ApproxMVBB_DEFINE_CONTAINER_TYPES \ 40 template<typename Key, typename Type, typename Comp = std::less<Key> > \ 41 using StdMapAligned = ApproxMVBB::MyContainers::StdMapAligned<Key, Type, Comp >; \ 43 template<typename Key, typename Type, typename Hash = std::hash<Key>, typename Pred = std::equal_to<Key> > \ 44 using StdUMapAligned = ApproxMVBB::MyContainers::StdUMapAligned<Key, Type, Hash,Pred >; \ 46 template<typename Type > \ 47 using StdVecAligned = ApproxMVBB::MyContainers::StdVecAligned< Type >; These are some container definitions.
std::vector< Type, Eigen::aligned_allocator< Type > > StdVecAligned
std::unordered_map< Key, Type, Hash, Pred, Eigen::aligned_allocator< std::pair< const Key, Type > > > StdUMapAligned
std::map< Key, Type, Comp, Eigen::aligned_allocator< std::pair< const Key, Type > > > StdMapAligned