#include <iosfwd>
#include "messages.h"
#include "make_array.h"
Go to the source code of this file.
Classes | |
class | MdRecord |
All information for one workspace method. More... | |
Defines | |
#define | NODEF "@@THIS_KEYWORD_HAS_NO_DEFAULT_VALUE@@" |
Functions | |
void | define_md_data_raw () |
void | expand_md_data_raw_to_md_data () |
Expand supergeneric methods. | |
void | define_md_map () |
Define MdMap. | |
void | define_md_raw_map () |
Define MdRawMap. | |
ostream & | operator<< (ostream &os, const MdRecord &mdr) |
Output operator for MdRecord. |
The class MdRecord contains all information for one workspace method.
Definition in file methods.h.
#define NODEF "@@THIS_KEYWORD_HAS_NO_DEFAULT_VALUE@@" |
Definition at line 35 of file methods.h.
Referenced by define_md_data_raw(), operator<<(), ArtsParser::parse_method_args(), ArtsParser::set_gin_to_default(), and write_method_header_documentation().
void define_md_data_raw | ( | ) |
Definition at line 94 of file methods.cc.
References AGENDAMETHOD, AUTHORS, DESCRIPTION, get_array_groups_as_string(), GIN, GIN_DEFAULT, GIN_DESC, GIN_TYPE, GOUT, GOUT_DESC, GOUT_TYPE, IN, md_data_raw, NAME, NODEF, OUT, PASSWORKSPACE, PASSWSVNAMES, SETMETHOD, and SUPPRESSHEADER.
Referenced by main().
void define_md_map | ( | ) |
Define MdMap.
MdMap can be used to find method data by method name.
Definition at line 425 of file methods_aux.cc.
References MdRecord::ActualGroups(), DEBUG_ONLY, md_data, MdMap, MdRecord::Name(), Array< base >::nelem(), MdRecord::Supergeneric(), and wsv_group_names.
Referenced by main().
void define_md_raw_map | ( | ) |
Define MdRawMap.
MdRawMap can be used to find method data by method name. In the md_data_raw lookup table. This is the method table before expansion of supergeneric methods.
We add the _sg_Type string to the methodname here, so that supergeneric methods can be picked out for the right type.
Definition at line 467 of file methods_aux.cc.
References md_data_raw, MdRawMap, and Array< base >::nelem().
Referenced by main().
void expand_md_data_raw_to_md_data | ( | ) |
Expand supergeneric methods.
This creates md_data from md_data_raw, by explicitly expanding supergeneric methods for all groups. That means, e.g., instead of supergeneric method Copy(Any,Any) there will be Copy_sg_Vector(Vector,Vector), Copy_sg_Matrix(Matrix,Matrix), etc..
Not only the GOutType and GInType lists are manipulated, also the method name.
Definition at line 349 of file methods_aux.cc.
References get_wsv_group_id(), MdRecord::GInSpecType(), MdRecord::GOutSpecType(), max, md_data, md_data_raw, Array< base >::nelem(), MdRecord::subst_any_with_group(), MdRecord::subst_any_with_specific_group(), MdRecord::Supergeneric(), and wsv_group_names.
Referenced by main().
ostream& operator<< | ( | ostream & | os, | |
const MdRecord & | mdr | |||
) |
Output operator for MdRecord.
Definition at line 628 of file methods_aux.cc.
References MdRecord::Authors(), MdRecord::Description(), format_paragraph(), get_short_wsv_description(), get_wsv_group_id(), MdRecord::GIn(), MdRecord::GInDefault(), MdRecord::GInDescription(), MdRecord::GInSpecType(), MdRecord::GInType(), MdRecord::GOut(), MdRecord::GOutDescription(), MdRecord::GOutSpecType(), MdRecord::GOutType(), MdRecord::In(), MdRecord::InOnly(), limit_line_length(), MdRecord::Name(), Array< base >::nelem(), my_basic_string< charT >::nelem(), NODEF, MdRecord::Out(), Workspace::wsv_data, and wsv_group_names.