aGrUM 2.3.2
a C++ library for (probabilistic) graphical models
gum::HashFuncCastKey< Key > Class Template Reference

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>

Public Types

using type
 The type used by this class.

Detailed Description

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
KeyThe type hashed by this hash function.

Definition at line 401 of file hashFunc.h.

Member Typedef Documentation

◆ type

template<typename Key>
using gum::HashFuncCastKey< Key >::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),
void >::type >::type >::type >::
type
Generic hash functions for keys castable as Size and whose size is precisely twice that of Size.
Definition hashFunc.h:366
Generic hash functions for keys castable as Size and whose size is precisely that of Size.
Definition hashFunc.h:335
Generic hash functions for keys castable as Size and whose size is strictly smaller than that of Size...
Definition hashFunc.h:297
Generic hash functions for numeric keys smaller than or equal to Size.
Definition hashFunc.h:261
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Definition types.h:74
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.
Definition hashFunc.h:403

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: