Go to the documentation of this file.
77 if (wsvs &&& wsvs->
wsv)
98 if (
ws[i].size() &&
ws[i].top()->wsv)
130 for (
Index i=0; i < workspace.
ws.nelem(); i++)
134 if (workspace.
ws[i].size() && workspace.
ws[i].top()->wsv)
136 wsvs->
wsv = workspace.
ws[i].top()->wsv;
155 for (
int i = 0; i <
ws.nelem (); i++)
159 while (
ws[i].size ())
264 if (!
ws[i].top ()->wsv)
266 ws[i].top ()->auto_allocated =
true;
270 ws[i].top ()->initialized =
true;
272 return (
ws[i].top()->wsv);
static Array< WsvRecord > wsv_data
void * pop(Index i)
Pop the topmost wsv from its stack.
void * allocate(Index wsvg)
Getaway function to call the allocation function for the WSV group with the given Index.
WorkspaceMemoryHandler wsmh
Array< stack< WsvStruct * > > ws
Workspace variable container.
void * operator[](Index i)
Retrieve pointer to the given WSV.
void del(Index i)
Delete WSV.
void deallocate(Index wsvg, void *vp)
Getaway function to call the deallocation function for the WSV group with the given Index.
void * duplicate(Index wsvg, void *vp)
Getaway function to call the duplication function for the WSV group with the given Index.
void pop_free(Index i)
Pop the topmost wsv from its stack and free its memory.
void push(Index i, void *wsv)
Push a new wsv onto its stack.
void duplicate(Index i)
Duplicate WSV.
void push_uninitialized(Index i, void *wsv)
Push a new wsv onto its stack but mark it as uninitialized.
Workspace()
Construct a new workspace.
Defines the enum type that acts as a handle for workspace variables groups.
This class contains all static information for one workspace variable.
This file contains the declaration and partly the implementation of the workspace class.
static map< String, Index > WsvMap
static Index add_wsv(const WsvRecord &wsv)
virtual ~Workspace()
Destruct the workspace.
INDEX Index
The type to use for all integer numbers and indices.
static void define_wsv_map()
Index nelem() const
Number of elements.
Auxiliary header stuff related to workspace variable groups.