ARTS 2.5.4 (git: 31ce4f0e)
agenda_record.h
Go to the documentation of this file.
1/* Copyright (C) 2000-2012 Stefan Buehler <sbuehler@ltu.se>
2
3 This program is free software; you can redistribute it and/or modify it
4 under the terms of the GNU General Public License as published by the
5 Free Software Foundation; either version 2, or (at your option) any
6 later version.
7
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12
13 You should have received a copy of the GNU General Public License
14 along with this program; if not, write to the Free Software
15 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
16 USA. */
17
27#ifndef agenda_record_h
28#define agenda_record_h
29
30#include <iostream>
31#include "arts.h"
32#include "mystring.h"
33
35
43class AgRecord {
44 public:
46 AgRecord() : mname(""), mdescription(""), moutput(0), minput(0) {
47 // Nothing to do here.
48 }
49
50 // Initializing constructor. Implementation in .cc file.
51 AgRecord(const char* name,
52 const char* description,
53 const ArrayOfString& output,
54 const ArrayOfString& input);
55
56 AgRecord(const AgRecord&) = default;
57 AgRecord& operator=(const AgRecord&) = default;
58
59 [[nodiscard]] const String& Name() const { return mname; }
60 [[nodiscard]] const String& Description() const { return mdescription; }
61 [[nodiscard]] const ArrayOfIndex& Out() const { return moutput; }
62 [[nodiscard]] const ArrayOfIndex& In() const { return minput; }
63
64 friend ostream& operator<<(ostream& os, const AgRecord& agr);
65
66 private:
69
72
75
78};
79
81
83
85
86void write_agenda_wrapper_header(ofstream& ofs,
87 const AgRecord& agr,
88 bool is_agenda_array);
89
90#endif
void define_agenda_map()
bool check_agenda_data()
Check that agendas.cc and workspace.cc are consistent.
void write_agenda_wrapper_header(ofstream &ofs, const AgRecord &agr, bool is_agenda_array)
Write a agenda wrapper header.
void define_agenda_data()
Definition: agendas.cc:44
The global header file for ARTS.
Lookup information for one agenda.
Definition: agenda_record.h:43
const ArrayOfIndex & Out() const
Definition: agenda_record.h:61
String mdescription
A text string describing this agenda.
Definition: agenda_record.h:71
ArrayOfIndex moutput
Workspace Output.
Definition: agenda_record.h:74
const ArrayOfIndex & In() const
Definition: agenda_record.h:62
AgRecord(const AgRecord &)=default
AgRecord()
Default constructor.
Definition: agenda_record.h:46
ArrayOfIndex minput
Workspace Input.
Definition: agenda_record.h:77
const String & Description() const
Definition: agenda_record.h:60
String mname
The name of this agenda.
Definition: agenda_record.h:68
friend ostream & operator<<(ostream &os, const AgRecord &agr)
Output operator for AgRecord.
const String & Name() const
Definition: agenda_record.h:59
AgRecord & operator=(const AgRecord &)=default
This file contains the definition of String, the ARTS string class.