29 #ifndef _ARTS_INTERACTIVE_WORKSPACE_H_ 30 #define _ARTS_INTERACTIVE_WORKSPACE_H_ 87 const Index agenda_verbosity = 0);
90 using Workspace::operator[];
137 void set_agenda_variable(
Index id,
const Agenda &src);
143 void set_index_variable(
Index id,
const Index &src);
149 void set_array_of_index_variable(
Index id,
size_t n,
const Index *src);
155 void set_numeric_variable(
Index id,
const Numeric &src);
162 void set_string_variable(
Index id,
const char *src);
169 void set_array_of_string_variable(
Index id,
size_t n,
const char *
const *src);
176 void set_vector_variable(
Index id,
size_t n,
const Numeric *src);
183 void set_matrix_variable(
Index id,
size_t m,
size_t n,
const Numeric *src);
190 void set_tensor3_variable(
191 Index id,
size_t l,
size_t m,
size_t n,
const Numeric *src);
198 void set_tensor4_variable(
199 Index id,
size_t k,
size_t l,
size_t m,
size_t n,
const Numeric *src);
206 void set_tensor5_variable(
Index id,
219 void set_tensor6_variable(
Index id,
233 void set_tensor7_variable(
Index id,
257 void set_sparse_variable(
Index id,
262 const int *row_indices,
263 const int *column_indices);
266 callbacks_[callback_id]->execute(*
this);
281 Index id = callbacks_.size();
282 callbacks_.push_back(cb);
293 void initialize_variable(
Index id);
338 #endif // _ARTS_INTERACTIVE_WORKSPACE_H_ INDEX Index
The type to use for all integer numbers and indices.
void execute_callback(Index callback_id)
Callback(void(*f)(InteractiveWorkspace *))
Create callback.
void(* getaways[])(Workspace &, const MRecord &)
bool is_initialized(Index i)
Checks existence of the given WSV.
void initialize()
Initalize ARTS runtime.
const char * execute_workspace_method(InteractiveWorkspace *workspace, long id, unsigned long n_args_out, const long *args_out, unsigned long n_args_in, const long *args_in)
Execute workspace method.
This file contains the Workspace class.
static size_t n_anonymous_variables_
Callback & operator=(const Callback &)=default
void swap(ComplexVector &v1, ComplexVector &v2)
Swaps two objects.
Declarations for agendas.
NUMERIC Numeric
The type to use for all floating point numbers.
Interactive ARTS workspace.
virtual void execute(InteractiveWorkspace &ws)
Execute callback.
long add_variable(InteractiveWorkspace *workspace, long group_id, const char *name)
Add variable of given type to workspace.
static Index add_callback(Callback *cb)
Add callback to workspace.
void(* callback_)(InteractiveWorkspace *)
const char * execute_agenda(InteractiveWorkspace *workspace, const Agenda *a)
Execute Agenda.
static std::vector< Callback * > callbacks_
DLL_PUBLIC void erase_variable(InteractiveWorkspace *workspace, long id, long group_id)
Erase variable from workspace.