proxygen
std::hash< std::tuple< Ts... > > Struct Template Reference

#include <Hash.h>

Public Types

using folly_is_avalanching = folly::bool_constant<(sizeof...(Ts)!=1||folly::IsAvalanchingHasher< std::hash< FirstT >, FirstT >::value)>
 

Public Member Functions

size_t operator() (std::tuple< Ts... > const &key) const
 

Private Types

using FirstT = std::decay_t< std::tuple_element_t< 0, std::tuple< Ts..., bool >>>
 

Detailed Description

template<typename... Ts>
struct std::hash< std::tuple< Ts... > >

Definition at line 725 of file Hash.h.

Member Typedef Documentation

template<typename... Ts>
using std::hash< std::tuple< Ts... > >::FirstT = std::decay_t<std::tuple_element_t<0, std::tuple<Ts..., bool>>>
private

Definition at line 727 of file Hash.h.

template<typename... Ts>
using std::hash< std::tuple< Ts... > >::folly_is_avalanching = folly::bool_constant<( sizeof...(Ts) != 1 || folly::IsAvalanchingHasher<std::hash<FirstT>, FirstT>::value)>

Definition at line 732 of file Hash.h.

Member Function Documentation

template<typename... Ts>
size_t std::hash< std::tuple< Ts... > >::operator() ( std::tuple< Ts... > const &  key) const
inline

Definition at line 734 of file Hash.h.

References testing::Args().

734  {
736  sizeof...(Ts) - 1, // start index
737  Ts...>
738  hasher;
739 
740  return hasher(key);
741  }

The documentation for this struct was generated from the following file: