GCC Middle and Back End API Reference
pair_hash< T1, T2 > Struct Template Reference

#include <hash-traits.h>

Public Types

typedef std::pair< typename T1::value_type, typename T2::value_type > value_type
 
typedef std::pair< typename T1::compare_type, typename T2::compare_type > compare_type
 

Static Public Member Functions

static hashval_t hash (const value_type &)
 
static bool equal (const value_type &, const compare_type &)
 
static void remove (value_type &)
 
static void mark_deleted (value_type &)
 
static void mark_empty (value_type &)
 
static bool is_deleted (const value_type &)
 
static bool is_empty (const value_type &)
 

Static Public Attributes

static const bool empty_zero_p = T1::empty_zero_p
 

Detailed Description

template<typename T1, typename T2>
struct pair_hash< T1, T2 >
Traits for pairs of values, using the first to record empty and
deleted slots.   

Member Typedef Documentation

◆ compare_type

template<typename T1 , typename T2 >
typedef std::pair<typename T1::compare_type, typename T2::compare_type> pair_hash< T1, T2 >::compare_type

◆ value_type

template<typename T1 , typename T2 >
typedef std::pair<typename T1::value_type, typename T2::value_type> pair_hash< T1, T2 >::value_type

Member Function Documentation

◆ equal()

template<typename T1 , typename T2 >
bool pair_hash< T1, T2 >::equal ( const value_type & x,
const compare_type & y )
inlinestatic

References y.

◆ hash()

template<typename T1 , typename T2 >
hashval_t pair_hash< T1, T2 >::hash ( const value_type & x)
inlinestatic

◆ is_deleted()

template<typename T1 , typename T2 >
bool pair_hash< T1, T2 >::is_deleted ( const value_type & x)
inlinestatic

◆ is_empty()

template<typename T1 , typename T2 >
bool pair_hash< T1, T2 >::is_empty ( const value_type & x)
inlinestatic

◆ mark_deleted()

template<typename T1 , typename T2 >
void pair_hash< T1, T2 >::mark_deleted ( value_type & x)
inlinestatic

◆ mark_empty()

template<typename T1 , typename T2 >
void pair_hash< T1, T2 >::mark_empty ( value_type & x)
inlinestatic

◆ remove()

template<typename T1 , typename T2 >
void pair_hash< T1, T2 >::remove ( value_type & x)
inlinestatic

Field Documentation

◆ empty_zero_p

template<typename T1 , typename T2 >
const bool pair_hash< T1, T2 >::empty_zero_p = T1::empty_zero_p
static

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