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