#include <functional>
Go to the source code of this file.
|
static void | hash_combine (std::size_t &seed) |
| This is a dummy function to take the final case of hash_combine below. More...
|
|
template<typename T , typename ... Types> |
static void | hash_combine (std::size_t &seed, const T &val, const Types &... args) |
| Combine multiple hashes utilizing previous hash result. More...
|
|
template<typename... Types> |
static std::size_t | hash_val (const Types &... args) |
|
◆ LIBS_KIMATH_INCLUDE_HASH_H_
#define LIBS_KIMATH_INCLUDE_HASH_H_ |
◆ hash_combine() [1/2]
static void hash_combine |
( |
std::size_t & |
seed | ) |
|
|
inlinestatic |
This is a dummy function to take the final case of hash_combine below.
- Parameters
-
Definition at line 34 of file hash.h.
Referenced by KIID::Hash(), hash_combine(), hash_fp_item(), hash_val(), std::hash< PTR_LAYER_CACHE_KEY >::operator()(), std::hash< PTR_PTR_CACHE_KEY >::operator()(), std::hash< PTR_PTR_LAYER_CACHE_KEY >::operator()(), std::hash< std::pair< BITMAPS, int > >::operator()(), ERC_SCH_PIN_CONTEXT::rehash(), SCH_SHEET_PATH::Rehash(), and SHAPE_POLY_SET::unfractureSingle().
◆ hash_combine() [2/2]
template<typename T , typename ... Types>
static void hash_combine |
( |
std::size_t & |
seed, |
|
|
const T & |
val, |
|
|
const Types &... |
args |
|
) |
| |
|
inlinestatic |
Combine multiple hashes utilizing previous hash result.
- Template Parameters
-
- Parameters
-
seed | A seed value input and output for the result. |
val | A hashable object of type T |
Definition at line 44 of file hash.h.
45{
46 seed ^= std::hash<T>()( val ) + 0x9e3779b9 + ( seed << 6 ) + ( seed >> 2 );
48}
static void hash_combine(std::size_t &seed)
This is a dummy function to take the final case of hash_combine below.
References hash_combine().
◆ hash_val()
template<typename... Types>
static std::size_t hash_val |
( |
const Types &... |
args | ) |
|
|
inlinestatic |
Definition at line 51 of file hash.h.
52{
53 std::size_t seed = 0xa82de1c0;
55 return seed;
56}
References hash_combine().