9 #include <unordered_map>
10 #include <unordered_set>
51 template<
typename T1,
typename T2>
52 using PointerMap = std::map<const T1*, T2, pointerLess<T1>>;
60 template<
typename T1,
typename T2>
64 using FastSet = std::unordered_set<T, std::hash<T>>;
66 template<
typename T1,
typename T2>
67 using FastMap = std::unordered_map<T1, T2, std::hash<T1>>;
72 template<
typename T1,
typename T2>
78 template<
typename T1,
typename T2>
84 template<
typename T1,
typename T2>
90 template<
typename T1,
typename T2>
carl is the main namespace for the library.
std::unordered_set< const T *, pointerHash< T >, pointerEqual< T > > FastPointerSet
std::set< const T *, pointerLess< T > > PointerSet
std::set< std::shared_ptr< const T >, sharedPointerLess< T > > SharedPointerSet
std::unordered_map< std::shared_ptr< const T1 >, T2, sharedPointerHash< T1 >, sharedPointerEqual< T1 > > FastSharedPointerMap
std::multiset< std::shared_ptr< const T >, sharedPointerLess< T > > SharedPointerMultiSet
std::unordered_map< const T1 *, T2, pointerHashWithNull< T1 >, pointerEqualWithNull< T1 > > FastPointerMapB
std::unordered_map< std::shared_ptr< const T1 >, T2, sharedPointerHashWithNull< T1 >, pointerEqualWithNull< T1 > > FastSharedPointerMapB
std::unordered_set< T, std::hash< T > > FastSet
std::map< const T1 *, T2, pointerLess< T1 > > PointerMap
std::unordered_set< const T *, pointerHashWithNull< T >, pointerEqualWithNull< T > > FastPointerSetB
std::multiset< const T *, pointerLess< T > > PointerMultiSet
std::unordered_set< std::shared_ptr< const T >, sharedPointerHash< T >, sharedPointerEqual< T > > FastSharedPointerSet
std::map< std::shared_ptr< const T1 >, T2, sharedPointerLess< T1 > > SharedPointerMap
std::unordered_set< std::shared_ptr< const T >, sharedPointerHashWithNull< T >, pointerEqualWithNull< T > > FastSharedPointerSetB
std::unordered_map< const T1 *, T2, pointerHash< T1 >, pointerEqual< T1 > > FastPointerMap
std::unordered_map< T1, T2, std::hash< T1 > > FastMap
Alternative specialization of std::equal_to for pointer types.
Alternative specialization of std::less for pointer types.
Alternative specialization of std::hash for pointer types.