GCC Middle and Back End API Reference
ggc_cache_ptr_hash< T > Struct Template Reference

#include <hash-traits.h>

Inheritance diagram for ggc_cache_ptr_hash< T >:
Collaboration diagram for ggc_cache_ptr_hash< T >:

Public Types

typedef Tvalue_type
 
typedef Tcompare_type
 

Static Public Member Functions

static hashval_t hash (const value_type &)
 
static bool equal (const value_type &existing, const compare_type &candidate)
 
static void mark_deleted (T *&)
 
static void mark_empty (T *&)
 
static bool is_deleted (T *)
 
static bool is_empty (T *)
 
static void ggc_maybe_mx (T &)
 
static int keep_cache_entry (T &e)
 
static void remove (T &)
 
static void ggc_mx (T &p)
 
static void pch_nx (T &p)
 
static void pch_nx (T &p, gt_pointer_operator op, void *cookie)
 

Static Public Attributes

static const bool empty_zero_p
 

Detailed Description

template<typename T>
struct ggc_cache_ptr_hash< T >
Traits for elements that point to gc memory.  The elements don't
in themselves keep the pointed-to data alive and they can be deleted
if the pointed-to data is going to be collected.   

Member Typedef Documentation

◆ compare_type

typedef T * pointer_hash< T >::compare_type
inherited

◆ value_type

typedef T * pointer_hash< T >::value_type
inherited

Member Function Documentation

◆ equal()

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

◆ ggc_maybe_mx()

static void ggc_cache_remove< T >::ggc_maybe_mx ( T & )
inlinestaticinherited

◆ ggc_mx()

template<typename T >
static void ggc_remove< T >::ggc_mx ( T & p)
inlinestaticinherited

References gt_ggc_mx().

Referenced by ggc_remove< T >::ggc_maybe_mx().

◆ hash()

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

◆ is_deleted()

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

◆ is_empty()

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

◆ keep_cache_entry()

static int ggc_cache_remove< T >::keep_cache_entry ( T & e)
inlinestaticinherited

◆ mark_deleted()

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

◆ mark_empty()

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

◆ pch_nx() [1/2]

template<typename T >
static void ggc_remove< T >::pch_nx ( T & p)
inlinestaticinherited

References gt_pch_nx().

◆ pch_nx() [2/2]

template<typename T >
static void ggc_remove< T >::pch_nx ( T & p,
gt_pointer_operator op,
void * cookie )
inlinestaticinherited

References ggc_alloc(), and NULL.

◆ remove()

template<typename T >
static void ggc_remove< T >::remove ( T & )
inlinestaticinherited

Field Documentation

◆ empty_zero_p

const bool pointer_hash< T >::empty_zero_p
staticinherited

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