QDP++
QDP::BinaryFileReaderWriter Class Reference

Binary file input/output class. More...

#include <qdp_io.h>

Inheritance diagram for QDP::BinaryFileReaderWriter:
QDP::BinaryReaderWriter QDP::BinaryReader QDP::BinaryWriter

Public Member Functions

 BinaryFileReaderWriter ()
 ~BinaryFileReaderWriter ()
 BinaryFileReaderWriter (const std::string &p, std::ios_base::openmode mode=std::ios_base::in|std::ios_base::out)
bool is_open ()
 Queries whether the file is open.
void open (const std::string &p, std::ios_base::openmode mode=std::ios_base::in|std::ios_base::out)
 Opens a file for reading.
void close ()
 Closes the last file opened.
void flush ()
 Flushes the buffer.
Public Member Functions inherited from QDP::BinaryReaderWriter
virtual ~BinaryReaderWriter ()
virtual bool fail ()
 Checks status of the previous IO operation.
virtual QDPUtil::n_uint32_t getChecksum ()
 Get the current checksum.
virtual void resetChecksum ()
 Reset the current checksum.
virtual pos_type currentPosition ()
 Current position.
virtual void seek (pos_type off)
 Set the current position.
virtual void seekBegin (off_type off)
 Set the position relative from the start.
virtual void seekRelative (off_type off)
 Set the position relative to the current position.
virtual void seekEnd (off_type off)
 Set the position relative from the end.
virtual void rewind ()
 Rewind object to the beginning.
Public Member Functions inherited from QDP::BinaryReader
virtual ~BinaryReader ()
virtual void readArrayPrimaryNode (char *output, size_t nbytes, size_t nmemb)
 Read data on the primary node only.
virtual void readArray (char *output, size_t nbytes, size_t nmemb)
 Read data on the primary node and broadcast to all nodes.
virtual void readArrayLittleEndian (char *output, size_t nbytes, size_t nmemb)
virtual void readArrayPrimaryNodeLittleEndian (char *output, size_t nbytes, size_t nmemb)
virtual void readDesc (std::string &result)
virtual void read (std::string &result, size_t nbytes)
 Read some max number of characters - 1 upto and excluding a newline.
virtual void read (char &result)
virtual void read (int &result)
virtual void read (unsigned int &result)
virtual void read (short int &result)
virtual void read (unsigned short int &result)
virtual void read (long int &result)
virtual void read (unsigned long int &result)
virtual void read (long long int &result)
virtual void read (float &result)
virtual void read (double &result)
virtual void read (bool &result)
virtual void seek (pos_type off)
 Set the current position.
virtual void seekBegin (off_type off)
 Set the position relative from the start.
virtual void seekRelative (off_type off)
 Set the position relative to the current position.
virtual void seekEnd (off_type off)
 Set the position relative from the end.
Public Member Functions inherited from QDP::BinaryWriter
 BinaryWriter ()
 Default constructor.
virtual ~BinaryWriter ()
virtual void writeArrayPrimaryNode (const char *output, size_t nbytes, size_t nmemb)
 Write data on the primary node only.
virtual void writeArray (const char *output, size_t nbytes, size_t nmemb)
 Write data from the primary node.
virtual void writeDesc (const std::string &output)
 Writes a fixed length of characters like an array.
virtual void write (const std::string &output)
virtual void write (const char *output)
virtual void write (const char &output)
virtual void write (const int &output)
virtual void write (const unsigned int &output)
virtual void write (const short int &output)
virtual void write (const unsigned short int &output)
virtual void write (const long int &output)
virtual void write (const unsigned long int &output)
virtual void write (const long long int &output)
virtual void write (const float &output)
virtual void write (const double &output)
virtual void write (const bool &output)
virtual void seek (pos_type off)
 Set the current position.
virtual void seekBegin (off_type off)
 Set the position relative from the start.
virtual void seekRelative (off_type off)
 Set the position relative to the current position.
virtual void seekEnd (off_type off)
 Set the position relative from the end.

Protected Member Functions

QDPUtil::n_uint32_tinternalChecksum ()
 Get the current checksum to modify.
std::istream & getIstream ()
 Get the internal input stream.
std::ostream & getOstream ()
 Get the internal output stream.
std::iostream & getIOstream ()
 Get the internal inpu/output stream.
Protected Member Functions inherited from QDP::BinaryReader
template<typename T>
void readPrimitive (T &output)
 The universal data-reader.
Protected Member Functions inherited from QDP::BinaryWriter
template<typename T>
void writePrimitive (const T &output)
 The universal data-writer.

Additional Inherited Members

Public Types inherited from QDP::BinaryReaderWriter
typedef std::iostream::pos_type pos_type
typedef std::iostream::off_type off_type
Public Types inherited from QDP::BinaryReader
typedef std::istream::pos_type pos_type
typedef std::istream::off_type off_type
Public Types inherited from QDP::BinaryWriter
typedef std::ostream::pos_type pos_type
typedef std::ostream::off_type off_type

Detailed Description

Binary file input/output class.

This class is used to read data from a binary file. The data in the file is assumed to be big-endian. If the host machine is little-endian, the data is byte-swapped. All nodes end up with the same data

The read methods are also wrapped by externally defined functions and >> operators,

Definition at line 1625 of file qdp_io.h.

Constructor & Destructor Documentation

◆ BinaryFileReaderWriter() [1/2]

QDP::BinaryFileReaderWriter::BinaryFileReaderWriter ( )

Definition at line 1589 of file qdp_io.cc.

◆ ~BinaryFileReaderWriter()

QDP::BinaryFileReaderWriter::~BinaryFileReaderWriter ( )

Closes the last file opened

Definition at line 1643 of file qdp_io.cc.

References close().

◆ BinaryFileReaderWriter() [2/2]

QDP::BinaryFileReaderWriter::BinaryFileReaderWriter ( const std::string & p,
std::ios_base::openmode mode = std::ios_base::in | std::ios_base::out )
explicit

Opens a file for reading.

Parameters
pThe name of the file

Definition at line 1591 of file qdp_io.cc.

References open().

Member Function Documentation

◆ close()

void QDP::BinaryFileReaderWriter::close ( )

Closes the last file opened.

Definition at line 1608 of file qdp_io.cc.

References is_open(), and QDP::Layout::primaryNode().

Referenced by ~BinaryFileReaderWriter().

◆ flush()

void QDP::BinaryFileReaderWriter::flush ( )
virtual

Flushes the buffer.

Implements QDP::BinaryWriter.

Definition at line 1633 of file qdp_io.cc.

References is_open(), and QDP::Layout::primaryNode().

◆ getIOstream()

std::iostream & QDP::BinaryFileReaderWriter::getIOstream ( )
inlineprotectedvirtual

Get the internal inpu/output stream.

Implements QDP::BinaryReaderWriter.

Definition at line 1670 of file qdp_io.h.

◆ getIstream()

std::istream & QDP::BinaryFileReaderWriter::getIstream ( )
inlineprotectedvirtual

Get the internal input stream.

Implements QDP::BinaryReaderWriter.

Definition at line 1664 of file qdp_io.h.

◆ getOstream()

std::ostream & QDP::BinaryFileReaderWriter::getOstream ( )
inlineprotectedvirtual

Get the internal output stream.

Implements QDP::BinaryReaderWriter.

Definition at line 1667 of file qdp_io.h.

◆ internalChecksum()

QDPUtil::n_uint32_t & QDP::BinaryFileReaderWriter::internalChecksum ( )
inlineprotectedvirtual

Get the current checksum to modify.

Implements QDP::BinaryReaderWriter.

Definition at line 1661 of file qdp_io.h.

◆ is_open()

bool QDP::BinaryFileReaderWriter::is_open ( )

Queries whether the file is open.

Returns
true if the file is open; false otherwise.

Definition at line 1618 of file qdp_io.cc.

References QDP::QDPInternal::broadcast(), QDP::Layout::primaryNode(), and QDP::QDP_isInitialized().

Referenced by close(), flush(), and open().

◆ open()

void QDP::BinaryFileReaderWriter::open ( const std::string & p,
std::ios_base::openmode mode = std::ios_base::in | std::ios_base::out )

Opens a file for reading.

Parameters
pThe name of the file

Definition at line 1597 of file qdp_io.cc.

References is_open(), QDP::Layout::primaryNode(), and QDP::QDP_error_exit().

Referenced by BinaryFileReaderWriter().


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