Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes

symbol_table::scope_id_cache Class Reference

#include "symtab.h"

Collaboration diagram for symbol_table::scope_id_cache:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ~scope_id_cache (void)

Static Public Member Functions

static scope_id alloc (void)
static void create_instance (void)
static void free (scope_id scope)
static bool instance_ok (void)
static std::list< scope_idscopes (void)

Protected Types

typedef std::set< scope_id >
::const_iterator 
set_const_iterator
typedef std::set< scope_id >
::iterator 
set_iterator

Protected Member Functions

 scope_id_cache (void)

Private Member Functions

 scope_id_cache (const scope_id_cache &)
scope_id do_alloc (void)
void do_free (scope_id scope)
std::list< scope_iddo_scopes (void) const
scope_id_cacheoperator= (const scope_id_cache &)

Static Private Member Functions

static void cleanup_instance (void)

Private Attributes

std::set< scope_idfree_list
std::set< scope_idin_use
scope_id next_available

Static Private Attributes

static scope_id_cacheinstance = 0

Detailed Description

Definition at line 52 of file symtab.h.


Member Typedef Documentation

typedef std::set<scope_id>::const_iterator symbol_table::scope_id_cache::set_const_iterator [protected]

Definition at line 58 of file symtab.h.

typedef std::set<scope_id>::iterator symbol_table::scope_id_cache::set_iterator [protected]

Definition at line 57 of file symtab.h.


Constructor & Destructor Documentation

symbol_table::scope_id_cache::scope_id_cache ( void   )  [inline, protected]

Definition at line 63 of file symtab.h.

Referenced by create_instance().

symbol_table::scope_id_cache::~scope_id_cache ( void   )  [inline]

Definition at line 67 of file symtab.h.

symbol_table::scope_id_cache::scope_id_cache ( const scope_id_cache  )  [private]

Member Function Documentation

static scope_id symbol_table::scope_id_cache::alloc ( void   )  [inline, static]

Definition at line 69 of file symtab.h.

static void symbol_table::scope_id_cache::cleanup_instance ( void   )  [inline, static, private]

Definition at line 114 of file symtab.h.

Referenced by create_instance().

void symbol_table::scope_id_cache::create_instance ( void   )  [static]
scope_id symbol_table::scope_id_cache::do_alloc ( void   )  [inline, private]

Definition at line 125 of file symtab.h.

void symbol_table::scope_id_cache::do_free ( scope_id  scope  )  [inline, private]

Definition at line 144 of file symtab.h.

References error().

std::list<scope_id> symbol_table::scope_id_cache::do_scopes ( void   )  const [inline, private]

Definition at line 157 of file symtab.h.

static void symbol_table::scope_id_cache::free ( scope_id  scope  )  [inline, static]

Definition at line 74 of file symtab.h.

Referenced by symbol_table::cleanup(), and symbol_table::free_scope().

static bool symbol_table::scope_id_cache::instance_ok ( void   )  [inline, static]

Definition at line 87 of file symtab.h.

References error().

scope_id_cache& symbol_table::scope_id_cache::operator= ( const scope_id_cache  )  [private]
static std::list<scope_id> symbol_table::scope_id_cache::scopes ( void   )  [inline, static]

Definition at line 80 of file symtab.h.


Member Data Documentation

Definition at line 123 of file symtab.h.

Definition at line 120 of file symtab.h.

Definition at line 112 of file symtab.h.

Referenced by create_instance().

Definition at line 117 of file symtab.h.


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines