37 ofs <<
"/*! \\file auto_workspace.h\n" 38 <<
" \\brief Defines the enum type that acts as a\n" 39 <<
" handle for workspace variables groups.\n\n" 41 <<
" Also defined here is a special pointer class that can hold\n" 42 <<
" a pointer to any workspace variable.\n\n" 44 <<
" This file was generated automatically by make_auto_workspace_h.cc.\n" 46 <<
" <b>DO NOT EDIT!</b>\n\n" 48 <<
" \\date " << __DATE__ <<
", " << __TIME__ <<
" */\n\n";
50 ofs <<
"#ifndef auto_workspace_h\n" 51 <<
"#define auto_workspace_h\n\n";
53 ofs <<
"#include <iostream>\n" 54 <<
"#include \"matpackII.h\"\n" 55 <<
"#include \"m_general.h\"\n" 56 <<
"#include \"supergeneric.h\"\n" 57 <<
"#include \"artstime.h\"\n" 58 <<
"#include \"ppath.h\"\n" 59 <<
"#include \"gas_abs_lookup.h\"\n" 60 <<
"#include \"optproperties.h\"\n" 61 <<
"#include \"gridded_fields.h\"\n" 62 <<
"#include \"jacobian.h\"\n" 63 <<
"#include \"agenda_class.h\"\n" 64 <<
"#include \"mc_interp.h\"\n" 65 <<
"#include \"mc_antenna.h\"\n" 66 <<
"#include \"cia.h\"\n" 67 <<
"#include \"propagationmatrix.h\"\n" 68 <<
"#include \"transmissionmatrix.h\"\n" 69 <<
"#include \"covariance_matrix.h\"\n" 70 <<
"#include \"telsem.h\"\n" 71 <<
"#include \"tessem.h\"\n" 72 <<
"#include \"hitran_xsec.h\"\n" 73 <<
"#include \"absorptionlines.h\"\n" 79 ofs <<
"class WorkspaceMemoryHandler {\n" 81 <<
" // List of function pointers to allocation routines\n" 83 <<
" // List of function pointers to deallocation routines\n" 85 <<
" // List of function pointers to duplication routines\n" 88 <<
" // Allocation and deallocation routines for workspace groups\n";
102 <<
" /** Default constructor. Initialize allocation and " 104 <<
" function pointer lists.\n" 106 <<
" WorkspaceMemoryHandler ()\n" 112 <<
" deallocfp[" <<
i <<
"] = deallocate_wsvg_" 114 <<
" duplicatefp[" <<
i <<
"] = duplicate_wsvg_" 119 <<
" /** Getaway function to call the allocation function for the\n" 120 <<
" WSV group with the given Index.\n" 122 <<
" void *allocate (Index wsvg)\n" 124 <<
" return allocfp[wsvg]();\n" 126 <<
" /** Getaway function to call the deallocation function for the\n" 127 <<
" WSV group with the given Index.\n" 129 <<
" void deallocate (Index wsvg, void *vp)\n" 131 <<
" deallocfp[wsvg](vp);\n" 133 <<
" /** Getaway function to call the duplication function for the\n" 134 <<
" WSV group with the given Index.\n" 136 <<
" void *duplicate (Index wsvg, void *vp)\n" 138 <<
" return duplicatefp[wsvg](vp);\n" 145 ofs <<
"#endif // auto_workspace_h\n";
146 }
catch (
const std::runtime_error &x) {
147 cout <<
"Something went wrong. Message text:\n";
148 cout << x.what() <<
'\n';
INDEX Index
The type to use for all integer numbers and indices.
Index nelem() const
Number of elements.
This file contains basic functions to handle ASCII files.
This file contains the definition of Array.
The global header file for ARTS.
Implementation of Matrix, Vector, and such stuff.
void open_output_file(ofstream &file, const String &name)
Open a file for writing.
void define_wsv_group_names()
Define the array of workspace variable group names.
const ArrayOfString wsv_group_names
The names associated with Wsv groups as Strings.