GNU Octave  3.8.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
symbol_table::scope_id_cache Class Reference

#include "symtab.h"

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

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 53 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 59 of file symtab.h.

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

Definition at line 58 of file symtab.h.

Constructor & Destructor Documentation

symbol_table::scope_id_cache::scope_id_cache ( void  )
inlineprotected

Definition at line 64 of file symtab.h.

Referenced by create_instance().

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

Definition at line 68 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  )
inlinestatic

Definition at line 70 of file symtab.h.

static void symbol_table::scope_id_cache::cleanup_instance ( void  )
inlinestaticprivate

Definition at line 115 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  )
inlineprivate

Definition at line 126 of file symtab.h.

void symbol_table::scope_id_cache::do_free ( scope_id  scope)
inlineprivate

Definition at line 145 of file symtab.h.

References error().

std::list<scope_id> symbol_table::scope_id_cache::do_scopes ( void  ) const
inlineprivate

Definition at line 158 of file symtab.h.

static void symbol_table::scope_id_cache::free ( scope_id  scope)
inlinestatic

Definition at line 75 of file symtab.h.

Referenced by symbol_table::free_scope().

static bool symbol_table::scope_id_cache::instance_ok ( void  )
inlinestatic

Definition at line 88 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  )
inlinestatic

Definition at line 81 of file symtab.h.

Member Data Documentation

std::set<scope_id> symbol_table::scope_id_cache::free_list
private

Definition at line 124 of file symtab.h.

std::set<scope_id> symbol_table::scope_id_cache::in_use
private

Definition at line 121 of file symtab.h.

symbol_table::scope_id_cache * symbol_table::scope_id_cache::instance = 0
staticprivate

Definition at line 113 of file symtab.h.

Referenced by create_instance().

scope_id symbol_table::scope_id_cache::next_available
private

Definition at line 118 of file symtab.h.


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