carl  24.04
Computer ARithmetic Library
container_types.h File Reference
#include "pointerOperations.h"
#include <cstring>
#include <map>
#include <memory>
#include <set>
#include <unordered_map>
#include <unordered_set>
#include <vector>
Include dependency graph for container_types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 carl
 carl is the main namespace for the library.
 

Typedefs

template<typename T >
using carl::pointerEqual = carl::equal_to< const T *, false >
 
template<typename T >
using carl::pointerEqualWithNull = carl::equal_to< const T *, true >
 
template<typename T >
using carl::sharedPointerEqual = carl::equal_to< std::shared_ptr< const T >, false >
 
template<typename T >
using carl::sharedPointerEqualWithNull = carl::equal_to< std::shared_ptr< const T >, true >
 
template<typename T >
using carl::pointerLess = carl::less< const T *, false >
 
template<typename T >
using carl::pointerLessWithNull = carl::less< const T *, true >
 
template<typename T >
using carl::sharedPointerLess = carl::less< std::shared_ptr< const T > *, false >
 
template<typename T >
using carl::sharedPointerLessWithNull = carl::less< std::shared_ptr< const T >, true >
 
template<typename T >
using carl::pointerHash = carl::hash< T *, false >
 
template<typename T >
using carl::pointerHashWithNull = carl::hash< T *, true >
 
template<typename T >
using carl::sharedPointerHash = carl::hash< std::shared_ptr< const T > *, false >
 
template<typename T >
using carl::sharedPointerHashWithNull = carl::hash< std::shared_ptr< const T > *, true >
 
template<typename T >
using carl::PointerSet = std::set< const T *, pointerLess< T > >
 
template<typename T >
using carl::PointerMultiSet = std::multiset< const T *, pointerLess< T > >
 
template<typename T1 , typename T2 >
using carl::PointerMap = std::map< const T1 *, T2, pointerLess< T1 > >
 
template<typename T >
using carl::SharedPointerSet = std::set< std::shared_ptr< const T >, sharedPointerLess< T > >
 
template<typename T >
using carl::SharedPointerMultiSet = std::multiset< std::shared_ptr< const T >, sharedPointerLess< T > >
 
template<typename T1 , typename T2 >
using carl::SharedPointerMap = std::map< std::shared_ptr< const T1 >, T2, sharedPointerLess< T1 > >
 
template<typename T >
using carl::FastSet = std::unordered_set< T, std::hash< T > >
 
template<typename T1 , typename T2 >
using carl::FastMap = std::unordered_map< T1, T2, std::hash< T1 > >
 
template<typename T >
using carl::FastPointerSet = std::unordered_set< const T *, pointerHash< T >, pointerEqual< T > >
 
template<typename T1 , typename T2 >
using carl::FastPointerMap = std::unordered_map< const T1 *, T2, pointerHash< T1 >, pointerEqual< T1 > >
 
template<typename T >
using carl::FastSharedPointerSet = std::unordered_set< std::shared_ptr< const T >, sharedPointerHash< T >, sharedPointerEqual< T > >
 
template<typename T1 , typename T2 >
using carl::FastSharedPointerMap = std::unordered_map< std::shared_ptr< const T1 >, T2, sharedPointerHash< T1 >, sharedPointerEqual< T1 > >
 
template<typename T >
using carl::FastPointerSetB = std::unordered_set< const T *, pointerHashWithNull< T >, pointerEqualWithNull< T > >
 
template<typename T1 , typename T2 >
using carl::FastPointerMapB = std::unordered_map< const T1 *, T2, pointerHashWithNull< T1 >, pointerEqualWithNull< T1 > >
 
template<typename T >
using carl::FastSharedPointerSetB = std::unordered_set< std::shared_ptr< const T >, sharedPointerHashWithNull< T >, pointerEqualWithNull< T > >
 
template<typename T1 , typename T2 >
using carl::FastSharedPointerMapB = std::unordered_map< std::shared_ptr< const T1 >, T2, sharedPointerHashWithNull< T1 >, pointerEqualWithNull< T1 > >