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