GNU Octave  4.0.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: