PSCF v1.2
Util::BinaryFileOArchive Class Reference

Saving / output archive for binary ostream. More...

#include <BinaryFileOArchive.h>

Public Member Functions

 BinaryFileOArchive ()
 Constructor.
 
 BinaryFileOArchive (std::string filename)
 Constructor.
 
 BinaryFileOArchive (std::ofstream &file)
 Constructor.
 
virtual ~BinaryFileOArchive ()
 Destructor.
 
std::ofstream & file ()
 Get the underlying ifstream by reference.
 
template<typename T >
BinaryFileOArchiveoperator<< (T &data)
 Save (write) one object of type T via the << operator.
 
template<typename T >
BinaryFileOArchiveoperator& (T &data)
 Save (write) one object of type T via the & operator.
 
template<typename T , size_t N>
BinaryFileOArchiveoperator<< (T(&data)[N])
 Save a fixed size array via operator <<.
 
template<typename T , size_t N>
BinaryFileOArchiveoperator& (T(&data)[N])
 Save a fixed size array via operator &.
 
template<typename T >
void pack (const T &data)
 Pack one object of type T.
 
template<typename T >
void pack (const T *array, int n)
 Pack a C array.
 
template<typename T >
void pack (const T *array, int m, int n, int np)
 Pack a 2D C array.
 

Static Public Member Functions

static bool is_saving ()
 Returns true;.
 
static bool is_loading ()
 Returns false;.
 

Detailed Description

Saving / output archive for binary ostream.

Definition at line 30 of file BinaryFileOArchive.h.

Constructor & Destructor Documentation

◆ BinaryFileOArchive() [1/3]

Util::BinaryFileOArchive::BinaryFileOArchive ( )

Constructor.

Definition at line 16 of file BinaryFileOArchive.cpp.

◆ BinaryFileOArchive() [2/3]

Util::BinaryFileOArchive::BinaryFileOArchive ( std::string filename)

Constructor.

Parameters
filenamename of file to open for reading.

Definition at line 25 of file BinaryFileOArchive.cpp.

◆ BinaryFileOArchive() [3/3]

Util::BinaryFileOArchive::BinaryFileOArchive ( std::ofstream & file)

Constructor.

Parameters
fileoutput file

Definition at line 34 of file BinaryFileOArchive.cpp.

◆ ~BinaryFileOArchive()

Util::BinaryFileOArchive::~BinaryFileOArchive ( )
virtual

Destructor.

Definition at line 43 of file BinaryFileOArchive.cpp.

Member Function Documentation

◆ is_saving()

bool Util::BinaryFileOArchive::is_saving ( )
inlinestatic

Returns true;.

Definition at line 162 of file BinaryFileOArchive.h.

◆ is_loading()

bool Util::BinaryFileOArchive::is_loading ( )
inlinestatic

Returns false;.

Definition at line 165 of file BinaryFileOArchive.h.

◆ file()

std::ofstream & Util::BinaryFileOArchive::file ( )

Get the underlying ifstream by reference.

Definition at line 53 of file BinaryFileOArchive.cpp.

◆ operator<<() [1/2]

template<typename T >
BinaryFileOArchive & Util::BinaryFileOArchive::operator<< ( T & data)
inline

Save (write) one object of type T via the << operator.

The implementation calls the appropriate global serialize function.

Parameters
dataobject of type T to be saved to this archive

Definition at line 174 of file BinaryFileOArchive.h.

◆ operator&() [1/2]

template<typename T >
BinaryFileOArchive & Util::BinaryFileOArchive::operator& ( T & data)
inline

Save (write) one object of type T via the & operator.

Equivalent to corresponding << operator.

Parameters
dataobject of type T to be saved to this archive

Definition at line 184 of file BinaryFileOArchive.h.

◆ operator<<() [2/2]

template<typename T , size_t N>
BinaryFileOArchive & Util::BinaryFileOArchive::operator<< ( T(&) data[N])
inline

Save a fixed size array via operator <<.

The implementation applies the serialize function to each element. This template should thus work for any type T for which a serialize function exists.

Parameters
dataarray of fixed size N with elements of type T

Definition at line 194 of file BinaryFileOArchive.h.

◆ operator&() [2/2]

template<typename T , size_t N>
BinaryFileOArchive & Util::BinaryFileOArchive::operator& ( T(&) data[N])
inline

Save a fixed size array via operator &.

Equivalent to the corresponding << operator.

Parameters
dataarray of fixed size N with elements of type T

Definition at line 206 of file BinaryFileOArchive.h.

◆ pack() [1/3]

template<typename T >
void Util::BinaryFileOArchive::pack ( const T & data)
inline

Pack one object of type T.

Parameters
dataobject of type T to be saved to this archive

Definition at line 220 of file BinaryFileOArchive.h.

Referenced by Util::Parameter::saveOptionalCArray(), Util::Parameter::saveOptionalCArray2D(), Util::CArray2DParam< Type >::saveValue(), and Util::CArrayParam< Type >::saveValue().

◆ pack() [2/3]

template<typename T >
void Util::BinaryFileOArchive::pack ( const T * array,
int n )
inline

Pack a C array.

Parameters
arrayaddress of first element
nnumber of elements

Definition at line 227 of file BinaryFileOArchive.h.

◆ pack() [3/3]

template<typename T >
void Util::BinaryFileOArchive::pack ( const T * array,
int m,
int n,
int np )
inline

Pack a 2D C array.

This packs m rows of length n within a 2D C array allocated as array[][np], where np is the physical length of one row.

Parameters
arraypointer to [0][0] element in 2D array
mnumber of rows
nlogical number of columns
npphysical number of columns

Definition at line 238 of file BinaryFileOArchive.h.


The documentation for this class was generated from the following files: