26 #ifndef agenda_class_h 27 #define agenda_class_h 80 void print(ostream& os,
const String& indent)
const;
126 msetvalue(x.msetvalue),
128 minternal(x.minternal)
136 bool internal =
false) : mid(id),
212 for (ArrayOfIndex::const_iterator j = moutput.begin(); j < moutput.end(); ++j)
213 for (ArrayOfIndex::iterator k = ginonly.begin(); k < ginonly.end(); ++k)
217 k = ginonly.erase(k) - 1;
226 void print(ostream& os,
const String& indent)
const;
INDEX Index
The type to use for all integer numbers and indices.
void set_outputs_to_push_and_dup(const Verbosity &verbosity)
Retrieve indexes of all input and output WSVs.
bool main_agenda
Is set to true if this is the main agenda.
void find_unused_variables()
String name() const
Agenda name.
Index nelem() const
Number of elements.
void check(Workspace &ws, const Verbosity &verbosity)
Checks consistency of an agenda.
Declarations having to do with the four output streams.
const ArrayOfIndex & In() const
ArrayOfIndex minput
Input workspace variables.
void ginput_only(ArrayOfIndex &ginonly) const
Get list of generic input only WSVs.
void resize(Index n)
Resize the method list.
const ArrayOfIndex & Out() const
bool mchecked
Flag indicating that the agenda was checked for consistency.
bool has_method(const String &methodname) const
Check if method is in Agenda.
TokVal msetvalue
Keyword value for Set methods.
bool is_main_agenda() const
ArrayOfIndex moutput_push
bool is_input(Workspace &ws, Index var) const
Check if given variable is agenda input.
bool minternal
Flag if this method is called internally by the engine.
void execute(Workspace &ws) const
Execute an agenda.
MRecord(const Index id, const ArrayOfIndex &output, const ArrayOfIndex &input, const TokVal &setvalue, const Agenda &tasks, bool internal=false)
Index nelem() const
Return the number of agenda elements.
void set_methods(const Array< MRecord > &ml)
const ArrayOfIndex & get_output2push() const
const ArrayOfIndex & get_output2dup() const
MRecord & operator=(const MRecord &x)
Assignment operator for MRecord.
bool isInternal() const
Indicates the origin of this method.
void print(ostream &os, const String &indent) const
Print an agenda.
void set_name(const String &nname)
Set agenda name.
const Array< MRecord > & Methods() const
Agenda mtasks
An agenda, which can be given in the controlfile instead of keywords.
const TokVal & SetValue() const
bool is_output(Index var) const
Check if given variable is agenda output.
ArrayOfIndex moutput
Output workspace variables.
const Agenda & Tasks() const
Agenda & operator=(const Agenda &x)
Assignment operator.
MRecord(const MRecord &x)
This stores arbitrary token values and remembers the type.
ostream & operator<<(ostream &os, const Agenda &a)
Output operator for Agenda.
void append(const String &methodname, const TokVal &keywordvalue)
Appends methods to an agenda.
void push_back(const MRecord &n)
Append a new method to end of list.