CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 74 of file Utilities.h.

Member Typedef Documentation

◆ argument_type

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

Definition at line 75 of file Utilities.h.

◆ result_type

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

Definition at line 76 of file Utilities.h.

Member Function Documentation

◆ operator()()

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

Definition at line 77 of file Utilities.h.

References b, gpuVertexFinder::more, submitPVValidationJobs::t, and std::tuple_tail().

77  {
78  const uint32_t& b = reinterpret_cast<const uint32_t&>(std::get<0>(t));
79  //const uint32_t& more = (*this)(tuple_tail(t));
80  const uint32_t& more = hash_specialization<ndims...>()(tuple_tail(t));
81  return b ^ more;
82  }
std::tuple< Tail... > tuple_tail(const std::tuple< Head, Tail... > &tpl)
Definition: Utilities.h:66
double b
Definition: hdecay.h:120