The Gaudi Framework  master (da3d77e1)
GaudiUtils::GenericHash< T > Struct Template Reference

Generic hash implementation (for easy migration to the new Hash class). More...

#include </builds/gaudi/Gaudi/GaudiKernel/include/GaudiKernel/Hash.h>

Public Member Functions

std::size_t operator() (const T &key) const
 the generic hash function More...
 

Detailed Description

template<class T>
struct GaudiUtils::GenericHash< T >

Generic hash implementation (for easy migration to the new Hash class).

Definition at line 38 of file Hash.h.

Member Function Documentation

◆ operator()()

template<class T >
std::size_t GaudiUtils::GenericHash< T >::operator() ( const T &  key) const
inline

the generic hash function

Definition at line 41 of file Hash.h.

41  {
42  const char* p = reinterpret_cast<const char*>( &key );
43  return std::accumulate( p, p + sizeof( T ), std::size_t{ 0 },
44  []( std::size_t res, const char& c ) { return ( res << 1 ) ^ c; } );
45  }

The documentation for this struct was generated from the following file:
gaudirun.c
c
Definition: gaudirun.py:525
std::accumulate
T accumulate(T... args)
std::size_t
ProduceConsume.key
key
Definition: ProduceConsume.py:84