Generic hash functions for keys castable as Size whose size is either smaller than Size, or equal to that of one or two Size.
More...
#include <agrum/base/core/hashFunc.h>
|
| using | type |
| | The type used by this class.
|
template<typename Key>
class gum::HashFuncCastKey< Key >
Generic hash functions for keys castable as Size whose size is either smaller than Size, or equal to that of one or two Size.
This class uses metaprogramming to select automatically which of classes HashFuncSmallCastKey, HashFuncMediumCastKey or HashFuncLargeCastKey you should inherit from.
- Template Parameters
-
| Key | The type hashed by this hash function. |
Definition at line 401 of file hashFunc.h.
◆ type
Initial value:typename std::conditional<
sizeof(Key) <=
sizeof(
Size) && std::is_integral< Key >::value,
typename std::conditional<
sizeof(Key) <
sizeof(
Size),
typename std::conditional<
sizeof(Key) ==
sizeof(
Size),
typename std::conditional<
sizeof(Key) == 2 *
sizeof(
Size),
type
Generic hash functions for keys castable as Size and whose size is precisely twice that of Size.
Generic hash functions for keys castable as Size and whose size is precisely that of Size.
Generic hash functions for keys castable as Size and whose size is strictly smaller than that of Size...
Generic hash functions for numeric keys smaller than or equal to Size.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
typename std::conditional< sizeof(Key)<=sizeof(Size) &&std::is_integral< Key >::value, HashFuncSmallKey< Key >, typename std::conditional< sizeof(Key)< sizeof(Size), HashFuncSmallCastKey< Key >, typename std::conditional< sizeof(Key)==sizeof(Size), HashFuncMediumCastKey< Key >, typename std::conditional< sizeof(Key)==2 *sizeof(Size), HashFuncLargeCastKey< Key >, void >::type >::type >::type >:: type type
The type used by this class.
The type used by this class.
Definition at line 403 of file hashFunc.h.
The documentation for this class was generated from the following file: