GCC Middle and Back End API Reference
int_hash< Type, Empty, Deleted > Struct Template Reference

#include <hash-traits.h>

Inheritance diagram for int_hash< Type, Empty, Deleted >:
Collaboration diagram for int_hash< Type, Empty, Deleted >:

Public Types

typedef Type value_type
 
typedef Type compare_type
 

Static Public Member Functions

static void mark_deleted (Type &)
 
static void mark_empty (Type &)
 
static bool is_deleted (Type)
 
static bool is_empty (Type)
 
static hashval_t hash (value_type)
 
static bool equal (value_type existing, value_type candidate)
 
static void remove (Type &)
 

Static Public Attributes

static const bool empty_zero_p = Empty == 0
 

Detailed Description

template<typename Type, Type Empty, Type Deleted = Empty>
struct int_hash< Type, Empty, Deleted >
Hasher for integer type Type in which Empty is a spare value that can be
used to mark empty slots.  If Deleted != Empty then Deleted is another
spare value that can be used for deleted slots; if Deleted == Empty then
hash table entries cannot be deleted.   

Member Typedef Documentation

◆ compare_type

template<typename Type , Type Empty, Type Deleted = Empty>
Type int_hash< Type, Empty, Deleted >::compare_type

◆ value_type

template<typename Type , Type Empty, Type Deleted = Empty>
Type int_hash< Type, Empty, Deleted >::value_type

Member Function Documentation

◆ equal()

template<typename Type >
bool int_hash_base< Type >::equal ( value_type existing,
value_type candidate )
inlinestaticinherited

References y.

◆ hash()

template<typename Type >
hashval_t int_hash_base< Type >::hash ( value_type x)
inlinestaticinherited

◆ is_deleted()

template<typename Type , Type Empty, Type Deleted>
bool int_hash< Type, Empty, Deleted >::is_deleted ( Type x)
inlinestatic

◆ is_empty()

template<typename Type , Type Empty, Type Deleted>
bool int_hash< Type, Empty, Deleted >::is_empty ( Type x)
inlinestatic

◆ mark_deleted()

template<typename Type , Type Empty, Type Deleted>
void int_hash< Type, Empty, Deleted >::mark_deleted ( Type & x)
inlinestatic

References gcc_assert.

◆ mark_empty()

template<typename Type , Type Empty, Type Deleted>
void int_hash< Type, Empty, Deleted >::mark_empty ( Type & x)
inlinestatic

◆ remove()

template<typename Type >
void typed_noop_remove< Type >::remove ( Type & )
inlinestaticinherited
Remove doing nothing.   

Field Documentation

◆ empty_zero_p

template<typename Type , Type Empty, Type Deleted = Empty>
const bool int_hash< Type, Empty, Deleted >::empty_zero_p = Empty == 0
static

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