GCC Middle and Back End API Reference
string_slot_hasher Struct Reference

#include <lto-streamer.h>

Inheritance diagram for string_slot_hasher:
Collaboration diagram for string_slot_hasher:

Public Types

typedef string_slotvalue_type
 
typedef string_slotcompare_type
 

Static Public Member Functions

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

Static Public Attributes

static const bool empty_zero_p
 

Detailed Description

Hashtable helpers.   

Member Typedef Documentation

◆ compare_type

string_slot* pointer_hash< string_slot >::compare_type
inherited

◆ value_type

string_slot* pointer_hash< string_slot >::value_type
inherited

Member Function Documentation

◆ equal() [1/2]

bool pointer_hash< string_slot >::equal ( const value_type & existing,
const compare_type & candidate )
inlinestaticinherited

◆ equal() [2/2]

bool string_slot_hasher::equal ( const string_slot * ds1,
const string_slot * ds2 )
inlinestatic
Returns nonzero if DS1 and DS2 are equal.   

References string_slot::len, and string_slot::s.

◆ hash() [1/2]

hashval_t pointer_hash< string_slot >::hash ( const value_type & candidate)
inlinestaticinherited

◆ hash() [2/2]

hashval_t string_slot_hasher::hash ( const string_slot * ds)
inlinestatic
Returns a hash code for DS.  Adapted from libiberty's htab_hash_string
to support strings that may not end in '\0'.   

References i, string_slot::len, r, and string_slot::s.

◆ is_deleted()

bool pointer_hash< string_slot >::is_deleted ( string_slot * e)
inlinestaticinherited

◆ is_empty()

bool pointer_hash< string_slot >::is_empty ( string_slot * e)
inlinestaticinherited

◆ mark_deleted()

void pointer_hash< string_slot >::mark_deleted ( string_slot *& e)
inlinestaticinherited

◆ mark_empty()

void pointer_hash< string_slot >::mark_empty ( string_slot *& e)
inlinestaticinherited

◆ remove()

void typed_noop_remove< string_slot * >::remove ( string_slot * & )
inlinestaticinherited
Remove doing nothing.   

Field Documentation

◆ empty_zero_p

const bool pointer_hash< string_slot >::empty_zero_p
staticinherited

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