25 #ifndef WORKSPACE_NG_INCLUDED 26 #define WORKSPACE_NG_INCLUDED 119 return ((ws[i].size() != 0) && (ws[i].top()->
initialized ==
true));
179 template <
typename OutputStream>
192 template <
typename OutputStream,
typename Container>
194 for (
typename Container::const_iterator it = container.begin();
195 it != container.end();
INDEX Index
The type to use for all integer numbers and indices.
static Array< WsvRecord > wsv_data
Global WSV data.
Index depth(Index i)
Return scoping level of the given WSV.
Index nelem() const
Number of elements.
void initialize()
Reset the size of the workspace.
void duplicate(Index i)
Duplicate WSV.
void pop_free(Index i)
Remove the topmost WSV from its stack and free its memory.
bool is_initialized(Index i)
Checks existence of the given WSV.
void PrintWsvNames(OutputStream &outstream, const Container &container)
Print list of WSV names to output stream.
This file contains the definition of Array.
String context
Debugging context.
virtual ~Workspace()
Destruct the workspace and free all WSVs.
static void define_wsv_data()
Define workspace variables.
void * operator[](Index i)
Retrieve a pointer to the given WSV.
Index nelem()
Get the number of workspace variables.
void PrintWsvName(OutputStream &outstream, Index i)
Print WSV name to output stream.
void * pop(Index i)
Remove the topmost WSV from its stack.
Workspace()
Construct a new workspace.
This can be used to make arrays out of anything.
void push(Index i, void *wsv)
Push a new WSV onto its stack.
static map< String, Index > WsvMap
Global map associated with wsv_data.
static Index add_wsv(const WsvRecord &wsv)
Append a new WSV to the workspace.
void push_uninitialized(Index i, void *wsv)
Put a new WSV onto its stack.
Array< stack< WsvStruct * > > ws
Workspace variable container.
static void define_wsv_map()
Map WSV names to indices.
Index add_wsv_inplace(const WsvRecord &wsv)
Add a new variable to existing workspace and to the static maps.
This class contains all static information for one workspace variable.
void del(Index i)
Delete WSV.
Auxiliary header stuff related to workspace variable groups.