ARTS  2.2.66
xml_io_types.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2012 Oliver Lemke <olemke@core-dump.info>
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 
18 
20 // File description
22 
32 #ifndef xml_io_types_h
33 #define xml_io_types_h
34 
35 #include <stdexcept>
36 #include <cfloat>
37 #include "absorption.h"
38 #include "agenda_class.h"
39 #include "array.h"
40 #include "bifstream.h"
41 #include "bofstream.h"
42 #include "cia.h"
43 #include "gas_abs_lookup.h"
44 #include "gridded_fields.h"
45 #include "jacobian.h"
46 #include "m_general.h"
47 #include "mc_antenna.h"
48 #include "mc_interp.h"
49 #include "matpackII.h"
50 #include "matpackVII.h"
51 #include "messages.h"
52 #include "optproperties.h"
53 #include "ppath.h"
54 #include "xml_io_private.h"
55 
56 #define TMPL_XML_READ_WRITE_STREAM(what) \
57  void xml_read_from_stream(istream&, what&, bifstream *, const Verbosity&); \
58  void xml_write_to_stream(ostream&, const what&, bofstream *, \
59  const String&, const Verbosity&);
60 
61 
63 // Overloaded reading/writing routines for XML streams
65 
66 //=== Basic Types ==========================================================
67 
80 
81 //=== Compound Types =======================================================
82 
107 
108 //=== Array Types ==========================================================
109 
149 
150 //==========================================================================
151 
152 // Undefine the macro to avoid it being used anywhere else
153 #undef TMPL_XML_READ_WRITE_STREAM
154 
155 void xml_parse_from_stream(istream&, Vector&, bifstream*, ArtsXMLTag&, const Verbosity& verbosity);
156 
157 void xml_read_from_stream(istream&, ArrayOfLineRecord&, const Numeric, const Numeric, bifstream*,
158  const Verbosity&);
159 
161 
162 #endif /* xml_io_types_h */
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:35
Template functions for general supergeneric ws methods.
Header file for work with HITRAN collision induced absorption (CIA).
The Agenda class.
Definition: agenda_class.h:44
Interpolation classes and functions created for use within Monte Carlo scattering simulations...
Declarations having to do with the four output streams.
Declarations required for the calculation of jacobians.
The Vector class.
Definition: matpackI.h:556
The Sparse class.
Definition: matpackII.h:55
The Tensor4 class.
Definition: matpackIV.h:383
The Tensor7 class.
Definition: matpackVII.h:1931
Structure which describes the single scattering properties of a particle or a particle distribution...
Definition: optproperties.h:84
A 2D sequential linear interpolation (SLI) lookup table.
Definition: mc_interp.h:57
Workspace functions for the solution of cloud-box radiative transfer by Monte Carlo methods...
Structure to store a grid position.
Definition: interpolation.h:74
Contains the data for one retrieval quantity.
Definition: jacobian.h:45
This file contains the definition of Array.
void xml_read_from_stream(istream &, ArrayOfLineRecord &, const Numeric, const Numeric, bifstream *, const Verbosity &)
Reads ArrayOfLineRecord from XML input stream within specified frequency range.
The implementation for String, the ARTS string class.
Definition: mystring.h:63
The ARTS XML tag class.
The Tensor3 class.
Definition: matpackIII.h:348
Record containing upper and lower quantum numbers.
Definition: quantum.h:93
Header file for sparse matrices.
Declarations for agendas.
Binary output file stream class.
Definition: bifstream.h:44
This file contains the class declaration of bifstream.
This file contains the class declaration of bofstream.
Contains the lookup data for one species.
Definition: absorption.h:367
A tag group can consist of the sum of several of these.
An absorption lookup table.
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:29
The Matrix class.
Definition: matpackI.h:788
Declarations for the gas absorption lookup table.
Declarations required for the calculation of absorption coefficients.
An Antenna object used by MCGeneral.
Definition: mc_antenna.h:56
Propagation path structure and functions.
Container class for Quantum Numbers.
Definition: quantum.h:57
Contains the lookup data for one isotopologue.
Definition: absorption.h:191
The Tensor6 class.
Definition: matpackVI.h:950
CIA data for a single pair of molecules.
Definition: cia.h:68
Implementation of gridded fields.
#define TMPL_XML_READ_WRITE_STREAM(what)
Definition: xml_io_types.h:56
void xml_parse_from_stream(istream &, Vector &, bifstream *, ArtsXMLTag &, const Verbosity &verbosity)
Parses Vector from XML input stream.
The structure to describe a propagation path and releated quantities.
Definition: ppath.h:59
Auxiliary data for isotopologues.
Definition: absorption.h:439
This file contains private function declarations and template instantiation to handle XML data files...
Scattering database structure and functions.
The Tensor5 class.
Definition: matpackV.h:451