Go to the source code of this file.
◆ JPH_MAKE_HASH_STRUCT
      
        
          | #define JPH_MAKE_HASH_STRUCT | 
          ( | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          ...  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:    struct [[nodiscard]] name                               \
    {                                                       \
        std::size_t operator()(const type &t) const         \
        {                                                   \
            std::size_t ret = 0;                            \
            ::JPH::HashCombine(ret, __VA_ARGS__);           \
            return ret;                                     \
        }                                                   \
    };
 
 
 
◆ JPH_MAKE_HASHABLE
      
        
          | #define JPH_MAKE_HASHABLE | 
          ( | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          ...  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:    JPH_SUPPRESS_WARNING_PUSH                               \
    JPH_SUPPRESS_WARNINGS                                   \
    {                                                       \
        template<>                                          \
        JPH_MAKE_HASH_STRUCT(type, hash<type>, __VA_ARGS__) \
    }                                                       \
    JPH_SUPPRESS_WARNING_POP
 
 
 
◆ Hash64()
◆ HashBytes()
◆ HashCombine()
template<typename... Values> 
  
  
      
        
          | void HashCombine  | 
          ( | 
          std::size_t &  | 
          ioSeed,  | 
         
        
           | 
           | 
          Values...  | 
          inValues  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
Hash combiner to use a custom struct in an unordered map or set
Usage: 
struct SomeHashKey
{
    std::string key1;
    std::string key2;
    bool key3;
};
JPH_MAKE_HASHABLE(SomeHashKey, t.key1, t.key2, t.key3) 
 
 
 
◆ HashCombineHelper()
template<typename T > 
  
  
      
        
          | void HashCombineHelper  | 
          ( | 
          size_t &  | 
          ioSeed,  | 
         
        
           | 
           | 
          const T &  | 
          inValue  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   |