1 #ifndef UTIL_XDR_FILE_I_ARCHIVE_H 2 #define UTIL_XDR_FILE_I_ARCHIVE_H 11 #include "serialize.h" 12 #include <util/space/Vector.h> 13 #include <util/space/IntVector.h> 79 void init(FILE* file);
112 unsigned int version_;
132 template <
typename T>
135 serialize(*
this, data, version_);
142 template <
typename T>
145 serialize(*
this, data, version_);
168 const unsigned int version)
171 xdr_bool(ar.
xdrPtr(), &temp);
179 const unsigned int version)
180 { xdr_char(ar.
xdrPtr(), &data); }
187 const unsigned int version)
188 { xdr_u_int(ar.
xdrPtr(), &data); }
195 const unsigned int version)
196 { xdr_int(ar.
xdrPtr(), &data); }
204 const unsigned int version)
205 { xdr_u_long(ar.
xdrPtr(), &data); }
212 const unsigned int version)
213 { xdr_long(ar.
xdrPtr(), &data); }
221 const unsigned int version)
222 { xdr_float(ar.
xdrPtr(), &data); }
229 const unsigned int version)
230 { xdr_double(ar.
xdrPtr(), &data); }
235 template <
typename T>
237 const unsigned int version)
239 unsigned int size = data.size();
240 xdr_u_int(ar.
xdrPtr(), &size);
241 for (
size_t i = 0; i < size; ++i) {
254 const unsigned int version)
258 xdr_float(ar.
xdrPtr(), &a);
259 xdr_float(ar.
xdrPtr(), &b);
260 data = std::complex<float>(a, b);
269 const unsigned int version)
273 xdr_double(ar.
xdrPtr(), &a);
274 xdr_double(ar.
xdrPtr(), &b);
275 data = std::complex<double>(a, b);
283 const unsigned int version);
292 const unsigned int version)
304 const unsigned int version)
A Vector is a Cartesian vector.
XDR * xdrPtr()
Get a pointer to the enclosed XDR object.
XdrFileIArchive & operator&(T &data)
Load one object.
FILE * file()
Get the underlying file handle.
virtual ~XdrFileIArchive()
Destructor.
static bool is_saving()
Returns false.
Utility classes for scientific computation.
XdrFileIArchive & operator>>(T &data)
Load one object.
Loading / input archive for binary XDR file.
static bool is_loading()
Returns true.
An IntVector is an integer Cartesian vector.
XdrFileIArchive()
Constructor.
void init(FILE *file)
Initialize by associating with an open file.