aGrUM  0.13.2
hashFunc.h File Reference

Classes providing basic hash functions for hash tables. More...

#include <climits>
#include <string>
#include <type_traits>
#include <utility>
#include <agrum/agrum.h>
#include <agrum/core/refPtr.h>
#include <agrum/core/hashFunc_inl.h>
#include <agrum/core/hashFunc_tpl.h>
+ Include dependency graph for hashFunc.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  gum::HashFuncConst
 Constants for hash functions. More...
 
class  gum::HashFuncBase< Key >
 All hash functions should inherit from this class. More...
 
class  gum::HashFuncSmallKey< Key >
 Generic hash functions for keys smaller than or equal to long integers. More...
 
class  gum::HashFuncSmallCastKey< Key >
 Generic hash functions for keys castable as unsigned longs and whose size is strictly smaller than that of unsigned longs. More...
 
class  gum::HashFuncMediumCastKey< Key >
 Generic hash functions for keys castable as unsigned longs and whose size is precisely that of unsigned longs. More...
 
class  gum::HashFuncLargeCastKey< Key >
 Generic hash functions for keys castable as unsigned longs and whose size is precisely twice that of unsigned longs. More...
 
class  gum::HashFuncSmallKeyPair< Key1, Key2 >
 Generic hash functions for pairs of, at most, two long integer keys. More...
 
class  gum::HashFuncAllCastKeyPair< Key1, Key2, Func1, Func2 >
 Generic hash functions for pairs of keys whose sizes are precisely twice that of unsigned longs and which can be cast into unsigned longs. More...
 
class  gum::HashFuncCastKey< T >
 Generic hash functions for keys castable as unsigned longs whose size is either smaller than unsigned long, or equal to that of one or two unsigned longs. More...
 
class  gum::HashFuncCastKeyPair< T1, T2 >
 Generic hash functions for keys castable as unsigned longs whose size is either smaller than unsigned long, or equal to that of one or two unsigned longs. More...
 
class  gum::dummyHash< T >
 
class  gum::HashFuncConditionalType<... >
 This class enables to safely define hash functions for types that may or may not already has defined hash functionsThere are types that are defined differently depending on the architecture or the compiler you use. More...
 
struct  gum::HashFuncConditionalType< HASH_TYPE >
 
struct  gum::HashFuncConditionalType< HASH_TYPE, TYPE >
 
struct  gum::HashFuncConditionalType< HASH_TYPE, FIRST_TYPE, OTHER_TYPES... >
 
class  gum::HashFunc< key >
 Class template representing hashing function of LpCol. More...
 
class  gum::HashFunc< bool >
 Hash function for booleans. More...
 
class  gum::HashFunc< int >
 Hash function for integers. More...
 
class  gum::HashFunc< unsigned int >
 Hash function for unsigned integers. More...
 
class  gum::HashFunc< long >
 Hash function for long integers. More...
 
class  gum::HashFunc< unsigned long >
 Hash function for unsigned long integers. More...
 
class  gum::HashFunc< typename HashFuncConditionalType< std::size_t, unsigned long, unsigned int, long, int >::type >
 Hash function for std::size_t. More...
 
class  gum::HashFunc< float >
 Hash function for floats. More...
 
class  gum::HashFunc< double >
 Hash function for doubles. More...
 
class  gum::HashFunc< Type * >
 Hash function for pointers. More...
 
class  gum::HashFunc< std::pair< int, int > >
 Hash function for pairs of integers. More...
 
class  gum::HashFunc< std::pair< unsigned int, unsigned int > >
 Hash function for pairs of unsigned integers. More...
 
class  gum::HashFunc< std::pair< long, long > >
 Hash function for pairs of long integers. More...
 
class  gum::HashFunc< std::pair< unsigned long, unsigned long > >
 Hash function for pairs of unsigned long integers. More...
 
class  gum::HashFunc< std::pair< float, float > >
 Hash function for pairs of float. More...
 
class  gum::HashFunc< std::pair< double, double > >
 Hash function for pairs of double. More...
 
class  gum::HashFunc< std::pair< double, long unsigned int > >
 Hash function for pairs of double and long unsigned int. More...
 
class  gum::HashFunc< std::pair< long unsigned int, double > >
 Modification : adding mirrored pair key of the one above Though the question should be asked of whether we enforce only one version for pair key or whether we authorize mirrored version If one version is enforced sdyna.cpp must be modified! More...
 
class  gum::HashFunc< std::pair< double, long int > >
 Hash function for pairs of double and long int. More...
 
class  gum::HashFunc< RefPtr< Type > >
 Hash function for RefPtr. More...
 
class  gum::HashFunc< std::string >
 Hash function for strings. More...
 
class  gum::HashFunc< std::pair< std::string, std::string > >
 Hash function for pairs of strings. More...
 
class  gum::HashFunc< std::vector< Idx > >
 Hash function for vectors of gum::Idx. More...
 
class  gum::HashFunc< Debug >
 Hash function for gum::Debug. More...
 

Namespaces

 gum
 gum is the global namespace for all aGrUM entities
 

Functions

unsigned int gum::__hashTableLog2 (const Size &nb)
 Returns the size in bits - 1 necessary to store the smallest power of 2 greater or equal to nb. More...
 

Detailed Description

Classes providing basic hash functions for hash tables.

Author
Christophe GONZALES and Pierre-Henri WUILLEMIN

Definition in file hashFunc.h.