CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions
std::hash_specialization< Head, ndims > Struct Template Reference

#include <Utilities.h>

Public Types

typedef std::tuple< Head, ndims... > argument_type
 
typedef std::size_t result_type
 

Public Member Functions

result_type operator() (const argument_type &t) const
 

Detailed Description

template<typename Head, typename... ndims>
struct std::hash_specialization< Head, ndims >

Definition at line 84 of file Utilities.h.

Member Typedef Documentation

template<typename Head , typename... ndims>
typedef std::tuple<Head,ndims...> std::hash_specialization< Head, ndims >::argument_type

Definition at line 86 of file Utilities.h.

template<typename Head , typename... ndims>
typedef std::size_t std::hash_specialization< Head, ndims >::result_type

Definition at line 87 of file Utilities.h.

Member Function Documentation

template<typename Head , typename... ndims>
result_type std::hash_specialization< Head, ndims >::operator() ( const argument_type t) const
inline

Definition at line 88 of file Utilities.h.

References b, protons_cff::t, and std::tuple_tail().

89  {
90  const uint32_t& b = reinterpret_cast<const uint32_t&>(std::get<0>(t));
91  //const uint32_t& more = (*this)(tuple_tail(t));
92  const uint32_t& more = hash_specialization<ndims...>()(tuple_tail(t));
93  return b^more;
94  }
std::tuple< Tail... > tuple_tail(const std::tuple< Head, Tail... > &tpl)
Definition: Utilities.h:76
double b
Definition: hdecay.h:120