GCC Middle and Back End API Reference
hash_map< KeyId, Value, Traits >::hash_entry Struct Reference

Public Types

typedef hash_entry value_type
 
typedef Key compare_type
 

Static Public Member Functions

static hashval_t hash (const hash_entry &e)
 
static bool equal (const hash_entry &a, const Key &b)
 
static void remove (hash_entry &e)
 
static void mark_deleted (hash_entry &e)
 
static bool is_deleted (const hash_entry &e)
 
static void mark_empty (hash_entry &e)
 
static bool is_empty (const hash_entry &e)
 
static void ggc_mx (hash_entry &e)
 
static void ggc_maybe_mx (hash_entry &e)
 
static void pch_nx (hash_entry &e)
 
static void pch_nx (hash_entry &e, gt_pointer_operator op, void *c)
 
static int keep_cache_entry (hash_entry &e)
 

Data Fields

Key m_key
 
Value m_value
 

Static Public Attributes

static const bool empty_zero_p = Traits::empty_zero_p
 

Private Member Functions

 DEFINE_PCH_HELPER (bool)
 
 DEFINE_PCH_HELPER (char)
 
 DEFINE_PCH_HELPER (signed char)
 
 DEFINE_PCH_HELPER (unsigned char)
 
 DEFINE_PCH_HELPER (short)
 
 DEFINE_PCH_HELPER (unsigned short)
 
 DEFINE_PCH_HELPER (int)
 
 DEFINE_PCH_HELPER (unsigned int)
 
 DEFINE_PCH_HELPER (long)
 
 DEFINE_PCH_HELPER (unsigned long)
 
 DEFINE_PCH_HELPER (long long)
 
 DEFINE_PCH_HELPER (unsigned long long)
 

Static Private Member Functions

template<typename T >
static void pch_nx_helper (T &x, gt_pointer_operator op, void *cookie)
 
template<typename T >
static void pch_nx_helper (T *&x, gt_pointer_operator op, void *cookie)
 

Member Typedef Documentation

◆ compare_type

template<typename KeyId , typename Value , typename Traits >
typedef Key hash_map< KeyId, Value, Traits >::hash_entry::compare_type

◆ value_type

template<typename KeyId , typename Value , typename Traits >
typedef hash_entry hash_map< KeyId, Value, Traits >::hash_entry::value_type

Member Function Documentation

◆ DEFINE_PCH_HELPER() [1/12]

template<typename KeyId , typename Value , typename Traits >
hash_map< KeyId, Value, Traits >::hash_entry::DEFINE_PCH_HELPER ( bool )
private

◆ DEFINE_PCH_HELPER() [2/12]

template<typename KeyId , typename Value , typename Traits >
hash_map< KeyId, Value, Traits >::hash_entry::DEFINE_PCH_HELPER ( char )
private

◆ DEFINE_PCH_HELPER() [3/12]

template<typename KeyId , typename Value , typename Traits >
hash_map< KeyId, Value, Traits >::hash_entry::DEFINE_PCH_HELPER ( int )
private

◆ DEFINE_PCH_HELPER() [4/12]

template<typename KeyId , typename Value , typename Traits >
hash_map< KeyId, Value, Traits >::hash_entry::DEFINE_PCH_HELPER ( long long )
private

◆ DEFINE_PCH_HELPER() [5/12]

template<typename KeyId , typename Value , typename Traits >
hash_map< KeyId, Value, Traits >::hash_entry::DEFINE_PCH_HELPER ( long )
private

◆ DEFINE_PCH_HELPER() [6/12]

template<typename KeyId , typename Value , typename Traits >
hash_map< KeyId, Value, Traits >::hash_entry::DEFINE_PCH_HELPER ( short )
private

◆ DEFINE_PCH_HELPER() [7/12]

template<typename KeyId , typename Value , typename Traits >
hash_map< KeyId, Value, Traits >::hash_entry::DEFINE_PCH_HELPER ( signed char )
private

◆ DEFINE_PCH_HELPER() [8/12]

template<typename KeyId , typename Value , typename Traits >
hash_map< KeyId, Value, Traits >::hash_entry::DEFINE_PCH_HELPER ( unsigned char )
private

◆ DEFINE_PCH_HELPER() [9/12]

template<typename KeyId , typename Value , typename Traits >
hash_map< KeyId, Value, Traits >::hash_entry::DEFINE_PCH_HELPER ( unsigned int )
private

◆ DEFINE_PCH_HELPER() [10/12]

template<typename KeyId , typename Value , typename Traits >
hash_map< KeyId, Value, Traits >::hash_entry::DEFINE_PCH_HELPER ( unsigned long long )
private

◆ DEFINE_PCH_HELPER() [11/12]

template<typename KeyId , typename Value , typename Traits >
hash_map< KeyId, Value, Traits >::hash_entry::DEFINE_PCH_HELPER ( unsigned long )
private

◆ DEFINE_PCH_HELPER() [12/12]

template<typename KeyId , typename Value , typename Traits >
hash_map< KeyId, Value, Traits >::hash_entry::DEFINE_PCH_HELPER ( unsigned short )
private

◆ equal()

template<typename KeyId , typename Value , typename Traits >
static bool hash_map< KeyId, Value, Traits >::hash_entry::equal ( const hash_entry & a,
const Key & b )
inlinestatic

References a, and b.

◆ ggc_maybe_mx()

template<typename KeyId , typename Value , typename Traits >
static void hash_map< KeyId, Value, Traits >::hash_entry::ggc_maybe_mx ( hash_entry & e)
inlinestatic

◆ ggc_mx()

template<typename KeyId , typename Value , typename Traits >
static void hash_map< KeyId, Value, Traits >::hash_entry::ggc_mx ( hash_entry & e)
inlinestatic

◆ hash()

template<typename KeyId , typename Value , typename Traits >
static hashval_t hash_map< KeyId, Value, Traits >::hash_entry::hash ( const hash_entry & e)
inlinestatic

◆ is_deleted()

template<typename KeyId , typename Value , typename Traits >
static bool hash_map< KeyId, Value, Traits >::hash_entry::is_deleted ( const hash_entry & e)
inlinestatic

◆ is_empty()

template<typename KeyId , typename Value , typename Traits >
static bool hash_map< KeyId, Value, Traits >::hash_entry::is_empty ( const hash_entry & e)
inlinestatic

◆ keep_cache_entry()

template<typename KeyId , typename Value , typename Traits >
static int hash_map< KeyId, Value, Traits >::hash_entry::keep_cache_entry ( hash_entry & e)
inlinestatic

◆ mark_deleted()

template<typename KeyId , typename Value , typename Traits >
static void hash_map< KeyId, Value, Traits >::hash_entry::mark_deleted ( hash_entry & e)
inlinestatic

◆ mark_empty()

template<typename KeyId , typename Value , typename Traits >
static void hash_map< KeyId, Value, Traits >::hash_entry::mark_empty ( hash_entry & e)
inlinestatic

◆ pch_nx() [1/2]

template<typename KeyId , typename Value , typename Traits >
static void hash_map< KeyId, Value, Traits >::hash_entry::pch_nx ( hash_entry & e)
inlinestatic

◆ pch_nx() [2/2]

template<typename KeyId , typename Value , typename Traits >
static void hash_map< KeyId, Value, Traits >::hash_entry::pch_nx ( hash_entry & e,
gt_pointer_operator op,
void * c )
inlinestatic

◆ pch_nx_helper() [1/2]

template<typename KeyId , typename Value , typename Traits >
template<typename T >
static void hash_map< KeyId, Value, Traits >::hash_entry::pch_nx_helper ( T & x,
gt_pointer_operator op,
void * cookie )
inlinestaticprivate

◆ pch_nx_helper() [2/2]

template<typename KeyId , typename Value , typename Traits >
template<typename T >
static void hash_map< KeyId, Value, Traits >::hash_entry::pch_nx_helper ( T *& x,
gt_pointer_operator op,
void * cookie )
inlinestaticprivate

References NULL.

◆ remove()

template<typename KeyId , typename Value , typename Traits >
static void hash_map< KeyId, Value, Traits >::hash_entry::remove ( hash_entry & e)
inlinestatic

Field Documentation

◆ empty_zero_p

template<typename KeyId , typename Value , typename Traits >
const bool hash_map< KeyId, Value, Traits >::hash_entry::empty_zero_p = Traits::empty_zero_p
static

◆ m_key

◆ m_value


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