Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

IntelibBindTable Class Reference

#include <sbindtbl.hpp>

List of all members.


Detailed Description

Binding table.

This class implements a relatively fast map from a long integer value to an SEpression object (which is referenced by an SReference thus guaranteed to remain existing)

Definition at line 41 of file sbindtbl.hpp.

Public Member Functions

 IntelibBindTable ()
 Constructor.
 ~IntelibBindTable ()
 Destructor.
SReferenceGetBinding (unsigned long key) const
 Examine the table.
SReferenceAddBinding (unsigned long key)
 Add a new binding.
void Invalidate ()
 Invaidate the table.
void DeInvalidate ()
 Make the object valid (but empty in case it was invalid).
bool IsInvalid () const
 Is the object invalid?

Classes

struct  Item
class  Iterator
 Iterator for the table. More...


Constructor & Destructor Documentation

IntelibBindTable::IntelibBindTable  ) 
 

Constructor.

Definition at line 80 of file sbindtbl.hpp.

IntelibBindTable::~IntelibBindTable  ) 
 

Destructor.

Definition at line 82 of file sbindtbl.hpp.


Member Function Documentation

SReference* IntelibBindTable::GetBinding unsigned long  key  )  const
 

Examine the table.

Returns a changeable location so that you can change the binding for a given key. If there's no binding for the key, NULL is returned

Definition at line 89 of file sbindtbl.hpp.

Referenced by SchExpressionContext::GetBinding(), LExpressionContext::GetBinding(), and LExpressionContext::GetFunBinding().

SReference* IntelibBindTable::AddBinding unsigned long  key  ) 
 

Add a new binding.

Returns a changeable location of the binding which you should probably assign to your value

Definition at line 105 of file sbindtbl.hpp.

Referenced by SchExpressionContext::AddBinding(), LExpressionContext::AddBinding(), LExpressionContext::AddFunBinding(), SchExpressionContext::ProvideBinding(), LExpressionContext::ProvideBinding(), and LExpressionContext::ProvideFunBinding().

void IntelibBindTable::Invalidate  ) 
 

Invaidate the table.

Warning:
it is illegal to call GetBinding() after the object has been invalidated; no checking is performed so the program will just crash if you do. Simply speaking, check for IsInvalid() yourself in case you use this mechanism.

Definition at line 128 of file sbindtbl.hpp.

void IntelibBindTable::DeInvalidate  ) 
 

Make the object valid (but empty in case it was invalid).

Definition at line 133 of file sbindtbl.hpp.

bool IntelibBindTable::IsInvalid  )  const
 

Is the object invalid?

Definition at line 135 of file sbindtbl.hpp.


The documentation for this class was generated from the following file:
Generated on Tue Dec 18 00:41:45 2007 for InteLib by  doxygen 1.4.1