ARTS  2.2.66
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 "make_array.h"
33 #include "mystring.h"
34 
36 
44 class AgRecord {
45 public:
46 
48  AgRecord() : mname(""),
49  mdescription(""),
50  moutput(0),
51  minput(0)
52  {
53  // Nothing to do here.
54  }
55 
56  // Initializing constructor. Implementation in .cc file.
57  AgRecord(const char name[],
58  const char description[],
59  const MakeArray<String>& output,
60  const MakeArray<String>& input);
61 
62  const String& Name() const { return mname; }
63  const String& Description() const { return mdescription; }
64  const ArrayOfIndex& Out() const { return moutput; }
65  const ArrayOfIndex& In() const { return minput; }
66 
68 
70  AgRecord operator=(const AgRecord& /* m */)
71  {
72  cout << "AgRecord cannot be assigned!\n";
73  arts_exit();
74  return AgRecord();
75  }
76 
77 private:
78 
81 
84 
87 
90 
91 };
92 
93 void define_agenda_data();
94 
95 void define_agenda_map();
96 
97 bool check_agenda_data();
98 
99 void write_agenda_wrapper_header(ofstream& ofs,
100  const AgRecord& agr);
101 
102 ostream& operator<<(ostream& os, const AgRecord& agr);
103 
104 #endif
String mdescription
A text string describing this agenda.
Definition: agenda_record.h:83
Lookup information for one agenda.
Definition: agenda_record.h:44
ArrayOfIndex minput
Workspace Input.
Definition: agenda_record.h:89
void arts_exit(int status)
This is the exit function of ARTS.
Definition: arts.cc:42
Explicit construction of Arrays.
Definition: make_array.h:51
AgRecord operator=(const AgRecord &)
Assignment operator.
Definition: agenda_record.h:70
void define_agenda_map()
const ArrayOfIndex & Out() const
Definition: agenda_record.h:64
void define_agenda_data()
Definition: agendas.cc:44
String mname
The name of this agenda.
Definition: agenda_record.h:80
The global header file for ARTS.
const String & Description() const
Definition: agenda_record.h:63
void write_agenda_wrapper_header(ofstream &ofs, const AgRecord &agr)
Write a agenda wrapper header.
ArrayOfIndex moutput
Workspace Output.
Definition: agenda_record.h:86
Implements the class MakeArray, which is a derived class of Array, allowing explicit initialization...
const ArrayOfIndex & In() const
Definition: agenda_record.h:65
bool check_agenda_data()
Check that agendas.cc and workspace.cc are consistent.
ostream & operator<<(ostream &os, const AgRecord &agr)
Output operator for AgRecord.
const String & Name() const
Definition: agenda_record.h:62
AgRecord()
Default constructor.
Definition: agenda_record.h:48
This file contains the definition of String, the ARTS string class.