# VariableStore Class Reference

This is the wrapper class for the variable store, which implements the lookup and scoping of simple variables. More...

`#include <VariableStore.hpp>`

Inheritance diagram for VariableStore:

[legend]
List of all members.

## Public Types

typedef Scope< Sequence > | MyScope
typedef VarHashEntry< Sequence > | Entry

## Public Member Functions

virtual | ~VariableStore ()
| default destructor
virtual void | clear ()=0
| Clears all variable values and added scopes from the store.
virtual void | addLocalScope ()=0
| Adds a new local scope to the store.
virtual void | addLogicalBlockScope ()=0
| Adds a new logical block scope to the store.
virtual void | removeScope ()=0
| Removes the top level scope from the store.
virtual MyScope * | getScopeState ()=0
| Returns an encapsulation of the state of the variable store.
virtual void | setScopeState (MyScope *state)=0
| Sets the variable store to a previous state.
virtual void | setGlobalVar (const XMLCh *ident, const Sequence &value, const StaticContext *context, const LocationInfo *location)=0
| Declares and/or sets a variable in the global scope.
virtual void | setGlobalVar (const XMLCh *namespaceURI, const XMLCh *name, const Sequence &value, const StaticContext *context)=0
virtual void | setVar (const XMLCh *ident, const Sequence &value, const StaticContext *context, const LocationInfo *location)=0
| Declares and/or sets a variable in the top level scope.
virtual void | setVar (const XMLCh *namespaceURI, const XMLCh *name, const Sequence &value, const StaticContext *context)=0
virtual void | declareVar (const XMLCh *ident, const Sequence &value, const StaticContext *context, const LocationInfo *location)=0
| Declare a var in the top level scope (A full set of these namespaceURI/name pair methods should be made).
virtual void | declareVar (const XMLCh *namespaceURI, const XMLCh *name, const Sequence &value, const StaticContext *context)=0
virtual const std::pair< bool, Sequence > | getVar (const XMLCh *ident, const StaticContext *context, const LocationInfo *location) const =0
| Looks up the value of a variable in the current scope, using ident as an qname.
virtual const std::pair< bool, Sequence > | getVar (const XMLCh *namespaceURI, const XMLCh *name, const StaticContext *context) const =0
virtual Entry * | getReferenceVar (const XMLCh *ident, const StaticContext *context, const LocationInfo *location) const =0
| Looks up the value of a variable in the current scope, using ident as an qname.
virtual Entry * | getReferenceVar (const XMLCh *namespaceURI, const XMLCh *name, const StaticContext *context) const =0
virtual const std::pair< bool, Sequence > | getGlobalVar (const XMLCh *ident, const StaticContext *context, const LocationInfo *location) const =0
| Gets a variable from the global scope.
virtual const std::pair< bool, Sequence > | getGlobalVar (const XMLCh *namespaceURI, const XMLCh *name, const StaticContext *context) const =0
virtual void | delVar (const XMLCh *ident, const StaticContext *context, const LocationInfo *location)=0
| Deletes a variable from the current scope.
virtual void | delVar (const XMLCh *namespaceURI, const XMLCh *name, const StaticContext *context)=0
virtual void | delGlobalVar (const XMLCh *ident, const StaticContext *context, const LocationInfo *location)=0
| Deletes a variable from the global scope.
virtual XMLCh * | print (xercesc::MemoryManager *memMgr) const =0
| Gives human readable representation of the variable store.
virtual std::vector< std::pair< const XMLCh *, const XMLCh * > > | getVars () const =0
| Returns a vector with the names of the variable currently in scope.

## Detailed Description

This is the wrapper class for the variable store, which implements the lookup and scoping of simple variables.

## Member Typedef Documentation

typedef VarHashEntry<Sequence> VariableStore::Entry

typedef Scope<Sequence> VariableStore::MyScope

## Constructor & Destructor Documentation

virtual VariableStore::~VariableStore | ( |  | ) | `[inline, virtual]`

| default destructor

## Member Function Documentation

virtual void VariableStore::addLocalScope | ( |  | ) | `[pure virtual]`

| Adds a new local scope to the store.

virtual void VariableStore::addLogicalBlockScope | ( |  | ) | `[pure virtual]`

| Adds a new logical block scope to the store.

virtual void VariableStore::clear | ( |  | ) | `[pure virtual]`

| Clears all variable values and added scopes from the store.

virtual void VariableStore::declareVar | ( | const XMLCh * | namespaceURI,
|  | const XMLCh * | name,
|  | const Sequence & | value,
|  | const StaticContext * | context
| ) | `[pure virtual]`

virtual void VariableStore::declareVar | ( | const XMLCh * | ident,
|  | const Sequence & | value,
|  | const StaticContext * | context,
|  | const LocationInfo * | location
| ) | `[pure virtual]`

| Declare a var in the top level scope (A full set of these namespaceURI/name pair methods should be made).

virtual void VariableStore::delGlobalVar | ( | const XMLCh * | ident,
|  | const StaticContext * | context,
|  | const LocationInfo * | location
| ) | `[pure virtual]`

| Deletes a variable from the global scope.

virtual void VariableStore::delVar | ( | const XMLCh * | namespaceURI,
|  | const XMLCh * | name,
|  | const StaticContext * | context
| ) | `[pure virtual]`

virtual void VariableStore::delVar | ( | const XMLCh * | ident,
|  | const StaticContext * | context,
|  | const LocationInfo * | location
| ) | `[pure virtual]`

| Deletes a variable from the current scope.

virtual const std::pair<bool, Sequence> VariableStore::getGlobalVar | ( | const XMLCh * | namespaceURI,
|  | const XMLCh * | name,
|  | const StaticContext * | context
| ) | const`[pure virtual]`

virtual const std::pair<bool, Sequence> VariableStore::getGlobalVar | ( | const XMLCh * | ident,
|  | const StaticContext * | context,
|  | const LocationInfo * | location
| ) | const`[pure virtual]`

| Gets a variable from the global scope.

virtual Entry* VariableStore::getReferenceVar | ( | const XMLCh * | namespaceURI,
|  | const XMLCh * | name,
|  | const StaticContext * | context
| ) | const`[pure virtual]`

virtual Entry* VariableStore::getReferenceVar | ( | const XMLCh * | ident,
|  | const StaticContext * | context,
|  | const LocationInfo * | location
| ) | const`[pure virtual]`

| Looks up the value of a variable in the current scope, using ident as an qname. Returns the VariableStore::Entry for the variable, or null if it doesn't exist

virtual MyScope* VariableStore::getScopeState | ( |  | ) | `[pure virtual]`

| Returns an encapsulation of the state of the variable store.

virtual const std::pair<bool, Sequence> VariableStore::getVar | ( | const XMLCh * | namespaceURI,
|  | const XMLCh * | name,
|  | const StaticContext * | context
| ) | const`[pure virtual]`

virtual const std::pair<bool, Sequence> VariableStore::getVar | ( | const XMLCh * | ident,
|  | const StaticContext * | context,
|  | const LocationInfo * | location
| ) | const`[pure virtual]`

| Looks up the value of a variable in the current scope, using ident as an qname. Returns a boolean (true if successful), and the Sequence value of the variable

virtual std::vector< std::pair<const XMLCh*, const XMLCh*> > VariableStore::getVars | ( |  | ) | const`[pure virtual]`

| Returns a vector with the names of the variable currently in scope.

virtual XMLCh* VariableStore::print | ( | xercesc::MemoryManager * | memMgr | ) | const`[pure virtual]`

| Gives human readable representation of the variable store.

virtual void VariableStore::removeScope | ( |  | ) | `[pure virtual]`

| Removes the top level scope from the store. To be called at the end of methods to implement scoping.

virtual void VariableStore::setGlobalVar | ( | const XMLCh * | namespaceURI,
|  | const XMLCh * | name,
|  | const Sequence & | value,
|  | const StaticContext * | context
| ) | `[pure virtual]`

virtual void VariableStore::setGlobalVar | ( | const XMLCh * | ident,
|  | const Sequence & | value,
|  | const StaticContext * | context,
|  | const LocationInfo * | location
| ) | `[pure virtual]`

| Declares and/or sets a variable in the global scope.

virtual void VariableStore::setScopeState | ( | MyScope * | state | ) | `[pure virtual]`

| Sets the variable store to a previous state.

virtual void VariableStore::setVar | ( | const XMLCh * | namespaceURI,
|  | const XMLCh * | name,
|  | const Sequence & | value,
|  | const StaticContext * | context
| ) | `[pure virtual]`

virtual void VariableStore::setVar | ( | const XMLCh * | ident,
|  | const Sequence & | value,
|  | const StaticContext * | context,
|  | const LocationInfo * | location
| ) | `[pure virtual]`

| Declares and/or sets a variable in the top level scope.

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

- VariableStore.hpp