ARTS  1.0.222
arts.h
Go to the documentation of this file.
1 /* Copyright (C) 2000, 2001 Stefan Buehler <sbuehler@uni-bremen.de>
2  Patrick Eriksson <patrick@rss.chalmers.se>
3 
4  This program is free software; you can redistribute it and/or modify it
5  under the terms of the GNU General Public License as published by the
6  Free Software Foundation; either version 2, or (at your option) any
7  later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
17  USA. */
18 
105 #ifndef arts_h
106 #define arts_h
107 
108 #include <cstddef>
109 #include <cstdlib>
110 
111 using namespace std;
112 
113 //----------< First of all, include the configuration header >----------
114 // This header is generated by the configure script.
115 #if HAVE_CONFIG_H
116 #include <config.h>
117 #endif
118 // FIXME: Put an else clause here that stops the compilation with an
119 // error message.
120 
121 //----------< Standard library header files: >----------
122 
123 // Decided that not all standard headers should be included
124 // everywhere. Now, each header file of ARTS must include the standad
125 // header files that it needs. Only the most basic ones are included
126 // here, notably our local sstream implementation. Also cassert.
127 
128 // #include <iostream> // Standard stream library
129 // #include <iomanip>
130 // #include <fstream>
131 // #include <string> // Standard string library
132 // #include <vector>
133 // #include <map>
134 // #include <stdarg.h>
135 // #include <math.h>
136 // #include <cfloat>
137 // #include <typeinfo>
138 // #include <stdexcept>
139 // #include <algorithm>
140 // #include <ctype.h>
141 // #include <climits>
142 
143 //--------------------< Set floating point type >--------------------
147 typedef NUMERIC Numeric;
148 
149 //--------------------< Set integer type >--------------------
153 typedef INDEX Index;
154 
155 //--------------------< Set string type >--------------------
158 //typedef string String;
159 
160 // Declare the existance of class Array:
161 template<class base>
162 class Array;
163 
166 
169 
170 
171 
172 
173 //--------------------< Set NDEBUG? >--------------------
174 /* Define this in order to turn off all debuggin features (TNT range
175  checking, assertions, ...) */
176 #undef NDEBUG
177 //#define NDEBUG 1
178 
179 // C Assert macro:
180 // Could be moved to config.h in the future. This must be included
181 // *after* the definition of NDEBUG, since NDEBUG changes the
182 // behaviour of assert (assert does nothing if NDEBUG is set).
183 #include <cassert>
184 
185 
186 //-----------< define a quick output for std::vector<> >----------
187 /* A quick hack output for std::vector<>. This is only for
188  debugging purposes.
189  \return As for all output operator functions, the output stream is
190  returned.
191  \param os Output stream
192  \param v Vector to print
193  \author SAB */
194 // template<class T>
195 // ostream& operator<<(ostream& os, const std::vector<T>& v)
196 // {
197 // for (std::vector<T>::const_iterator i=v.begin(); i<v.end()-1; ++i)
198 // os << *i << ", ";
199 // os << *(v.end()-1);
200 // return os;
201 // }
202 
203 
204 
205 //---------------< Global variable declarations >---------------
206 // (Definitions of these are in FIXME: where?)
207 
208 
209 //---------------< Global function declarations: >---------------
210 // Documentations are with function definitions.
211 void define_wsv_group_names();
212 void define_species_data();
213 void define_lineshape_data();
215 
216 //
217 // Physical constants are now in constants.cc
218 //
219 
220 
221 
222 #endif // arts_h
223 
224 
225 
ArrayOfIndex
Array< Index > ArrayOfIndex
An array of Index.
Definition: arts.h:162
Array
This can be used to make arrays out of anything.
Definition: array.h:48
Numeric
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: arts.h:147
define_lineshape_data
void define_lineshape_data()
Definition: lineshapes.cc:2064
define_wsv_group_names
void define_wsv_group_names()
Define the array of workspace variable group names.
Definition: groups.cc:51
define_lineshape_norm_data
void define_lineshape_norm_data()
Definition: lineshapes.cc:2161
Index
INDEX Index
The type to use for all integer numbers and indices.
Definition: arts.h:153
define_species_data
void define_species_data()
Definition: species_data.cc:132
ArrayOfNumeric
Array< Numeric > ArrayOfNumeric
An array of Numeric.
Definition: arts.h:168