1 #ifndef UTIL_XDR_FILE_O_ARCHIVE_H 2 #define UTIL_XDR_FILE_O_ARCHIVE_H 11 #include "serialize.h" 12 #include <util/space/Vector.h> 13 #include <util/space/IntVector.h> 105 unsigned int version_;
122 template <
typename T>
125 serialize(*
this, data, version_);
132 template <
typename T>
135 serialize(*
this, data, version_);
158 const unsigned int version)
161 xdr_bool(ar.
xdrPtr(), &temp);
169 const unsigned int version)
170 { xdr_char(ar.
xdrPtr(), &data); }
177 const unsigned int version)
178 { xdr_u_int(ar.
xdrPtr(), &data); }
185 const unsigned int version)
186 { xdr_int(ar.
xdrPtr(), &data); }
194 const unsigned int version)
195 { xdr_u_long(ar.
xdrPtr(), &data); }
202 const unsigned int version)
203 { xdr_long(ar.
xdrPtr(), &data); }
211 const unsigned int version)
212 { xdr_float(ar.
xdrPtr(), &data); }
219 const unsigned int version)
220 { xdr_double(ar.
xdrPtr(), &data); }
225 template <
typename T>
227 const unsigned int version)
229 unsigned int size = data.size();
230 xdr_u_int(ar.
xdrPtr(), &size);
231 for (
size_t i = 0; i < size; ++i) {
244 const unsigned int version)
246 float a = data.real();
247 float b = data.imag();
248 xdr_float(ar.
xdrPtr(), &a);
249 xdr_float(ar.
xdrPtr(), &b);
258 const unsigned int version)
260 double a = data.real();
261 double b = data.imag();
262 xdr_double(ar.
xdrPtr(), &a);
263 xdr_double(ar.
xdrPtr(), &b);
271 const unsigned int version);
280 const unsigned int version)
292 const unsigned int version)
A Vector is a Cartesian vector.
static bool is_saving()
Returns true;.
FILE * file()
Get the underlying ifstream by reference.
virtual ~XdrFileOArchive()
Destructor.
Saving / output archive for binary XDR file.
XdrFileOArchive & operator&(T &data)
Save one object.
Utility classes for scientific computation.
static bool is_loading()
Returns false;.
void init(FILE *file)
Associate with an open file and initialize.
XDR * xdrPtr()
Get a pointer to the enclosed XDR object.
An IntVector is an integer Cartesian vector.
XdrFileOArchive & operator<<(T &data)
Save one object.
XdrFileOArchive()
Constructor.