GCC Middle and Back End API Reference
id_base Class Reference
Inheritance diagram for id_base:
Collaboration diagram for id_base:

Public Types

enum  id_kind {
  CODE , FN , PREDICATE , USER ,
  NULL_ID
}
 
typedef id_basevalue_type
 
typedef id_basecompare_type
 

Public Member Functions

 id_base (id_kind, const char *, int=-1)
 

Static Public Member Functions

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

Data Fields

enum id_base::id_kind kind
 
hashval_t hashval
 
int nargs
 
const char * id
 

Static Public Attributes

static const bool empty_zero_p
 

Detailed Description

Base class for all identifiers the parser knows.   

Member Typedef Documentation

◆ compare_type

typedef id_base* pointer_hash< id_base >::compare_type
inherited

◆ value_type

typedef id_base* pointer_hash< id_base >::value_type
inherited

Member Enumeration Documentation

◆ id_kind

Enumerator
CODE 
FN 
PREDICATE 
USER 
NULL_ID 

Constructor & Destructor Documentation

◆ id_base()

id_base::id_base ( id_kind kind_,
const char * id_,
int nargs_ = -1 )

References hashval, kind, and nargs.

Member Function Documentation

◆ equal() [1/2]

int id_base::equal ( const id_base * op1,
const id_base * op2 )
inlinestatic

References hashval, and id.

◆ equal() [2/2]

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

◆ hash() [1/2]

hashval_t id_base::hash ( const id_base * op)
inlinestatic

References hashval.

◆ hash() [2/2]

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

◆ is_deleted()

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

◆ is_empty()

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

◆ mark_deleted()

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

◆ mark_empty()

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

◆ remove()

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

Field Documentation

◆ empty_zero_p

const bool pointer_hash< id_base >::empty_zero_p
staticinherited

◆ hashval

◆ id

◆ kind

◆ nargs


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