IBAMR  IBAMR version 0.19.
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
SAMRAI::tbox::FileStream Class Reference

#include <tbox/FileStream.h>

Inheritance diagram for SAMRAI::tbox::FileStream:
Inheritance graph
[legend]

Public Types

enum  StreamMode { Read, Write, Append }
 

Public Member Functions

 FileStream (const char *filename, const StreamMode mode)
 
 FileStream (FILE *file, const StreamMode mode)
 
virtual ~FileStream ()
 
void closeFileOnExit (const bool flag)
 
FILE * getFILE ()
 
void setXDRStream (XDR *xdrs)
 
Boolean Stream Primitives

Pack and unpack booleans into and out of the XDR data stream.

virtual AbstractStreamoperator<< (const bool &data)
 Pack a single bool into the XDR data stream. More...
 
virtual AbstractStreamoperator>> (bool &data)
 Remove a single bool from the XDR data stream. More...
 
virtual void pack (const bool *data, const int n=1)
 Pack an array of bools into the XDR data stream. More...
 
virtual void unpack (bool *data, const int n=1)
 Remove an array of bools from the XDR data stream. More...
 
Character Stream Primitives

Pack and unpack chars into and out of the XDR data stream.

virtual AbstractStreamoperator<< (const char &data)
 Pack a single char into the XDR data stream. More...
 
virtual AbstractStreamoperator>> (char &data)
 Remove a single char from the XDR data stream. More...
 
virtual void pack (const char *data, const int n=1)
 Pack an array of chars into the XDR data stream. More...
 
virtual void unpack (char *data, const int n=1)
 Remove an array of chars from the XDR data stream. More...
 
virtual void writeString (const char *data)
 Write a string into the XDR data stream. More...
 
Double Complex Stream Primitives

Pack and unpack double complex into and out of the message stream.

virtual AbstractStreamoperator<< (const dcomplex &data)
 Pack a single double complex into the message stream. More...
 
virtual AbstractStreamoperator>> (dcomplex &data)
 Remove a single double complex from the message stream. More...
 
virtual void pack (const dcomplex *data, const int n=1)
 Pack an array of double complex into the message stream. More...
 
virtual void unpack (dcomplex *data, const int n=1)
 Remove an array of double complex from the message stream. More...
 
Double Stream Primitives

Pack and unpack doubles into and out of the XDR data stream.

virtual AbstractStreamoperator<< (const double &data)
 Pack a single double into the XDR data stream. More...
 
virtual AbstractStreamoperator>> (double &data)
 Remove a single double from the XDR data stream. More...
 
virtual void pack (const double *data, const int n=1)
 Pack an array of doubles into the XDR data stream. More...
 
virtual void unpack (double *data, const int n=1)
 Remove an array of doubles from the XDR data stream. More...
 
Float Stream Primitives

Pack and unpack floats into and out of the XDR data stream.

virtual AbstractStreamoperator<< (const float &data)
 Pack a single float into the XDR data stream. More...
 
virtual AbstractStreamoperator>> (float &data)
 Remove a single float from the XDR data stream. More...
 
virtual void pack (const float *data, const int n=1)
 Pack an array of floats into the XDR data stream. More...
 
virtual void unpack (float *data, const int n=1)
 Remove an array of floats from the XDR data stream. More...
 
Integer Stream Primitives

Pack and unpack integers into and out of the XDR data stream.

virtual AbstractStreamoperator<< (const int &data)
 Pack a single integer into the XDR data stream. More...
 
virtual AbstractStreamoperator>> (int &data)
 Remove a single integer from the XDR data stream. More...
 
virtual void pack (const int *data, const int n=1)
 Pack an array of integers into the XDR data stream. More...
 
virtual void unpack (int *data, const int n=1)
 Remove an array of integers from the XDR data stream. More...
 
Boolean Stream Primitives

Pack and unpack booleans into and out of the XDR data stream.

virtual AbstractStreamoperator<< (const bool &data)
 Pack a single bool into the XDR data stream. More...
 
virtual AbstractStreamoperator>> (bool &data)
 Remove a single bool from the XDR data stream. More...
 
virtual void pack (const bool *data, const int n=1)
 Pack an array of bools into the XDR data stream. More...
 
virtual void unpack (bool *data, const int n=1)
 Remove an array of bools from the XDR data stream. More...
 
Character Stream Primitives

Pack and unpack chars into and out of the XDR data stream.

virtual AbstractStreamoperator<< (const char &data)
 Pack a single char into the XDR data stream. More...
 
virtual AbstractStreamoperator>> (char &data)
 Remove a single char from the XDR data stream. More...
 
virtual void pack (const char *data, const int n=1)
 Pack an array of chars into the XDR data stream. More...
 
virtual void unpack (char *data, const int n=1)
 Remove an array of chars from the XDR data stream. More...
 
virtual void writeString (const char *data)
 Write a string into the XDR data stream. More...
 
Double Complex Stream Primitives

Pack and unpack double complex into and out of the message stream.

virtual AbstractStreamoperator<< (const dcomplex &data)
 Pack a single double complex into the message stream. More...
 
virtual AbstractStreamoperator>> (dcomplex &data)
 Remove a single double complex from the message stream. More...
 
virtual void pack (const dcomplex *data, const int n=1)
 Pack an array of double complex into the message stream. More...
 
virtual void unpack (dcomplex *data, const int n=1)
 Remove an array of double complex from the message stream. More...
 
Double Stream Primitives

Pack and unpack doubles into and out of the XDR data stream.

virtual AbstractStreamoperator<< (const double &data)
 Pack a single double into the XDR data stream. More...
 
virtual AbstractStreamoperator>> (double &data)
 Remove a single double from the XDR data stream. More...
 
virtual void pack (const double *data, const int n=1)
 Pack an array of doubles into the XDR data stream. More...
 
virtual void unpack (double *data, const int n=1)
 Remove an array of doubles from the XDR data stream. More...
 
Float Stream Primitives

Pack and unpack floats into and out of the XDR data stream.

virtual AbstractStreamoperator<< (const float &data)
 Pack a single float into the XDR data stream. More...
 
virtual AbstractStreamoperator>> (float &data)
 Remove a single float from the XDR data stream. More...
 
virtual void pack (const float *data, const int n=1)
 Pack an array of floats into the XDR data stream. More...
 
virtual void unpack (float *data, const int n=1)
 Remove an array of floats from the XDR data stream. More...
 

Private Member Functions

 FileStream (const FileStream &)
 
void operator= (const FileStream &)
 

Private Attributes

XDR d_xdr_stream
 
FILE * d_FILE
 
bool d_close_on_exit
 

Detailed Description

Class FileStream reads/writes files using XDRStream to convert data into a machine independent format required for portability across machine architectures.

There are two constructors to a file stream: (1) provide a FILE pointer to an existing file, or (2) provide a file name and let FileStream open the object. By default, FileStream calls fclose() on the file only for case (2). This default behavior can be changed by making a call to closeFileOnExit().

See also
tbox::XDRStream

Member Enumeration Documentation

◆ StreamMode

Enumerator
Read 
Write 
Append 

Constructor & Destructor Documentation

◆ FileStream() [1/3]

SAMRAI::tbox::FileStream::FileStream ( const char *  filename,
const StreamMode  mode 
)

Open a file with the specified filename and the stream mode. The mode can be either FileStream::Read, FileStream::Write, or FileStream::Append. If the filename cannot be opened, then the program aborts with an error. By default, the filename will be closed when the destructor for FileStream is called.

◆ FileStream() [2/3]

SAMRAI::tbox::FileStream::FileStream ( FILE *  file,
const StreamMode  mode 
)

Use an existing file for the XDR stream. The stream mode can be either FileStream::Read or FileStream::Write. The append mode is treated as a write. By default, the file is NOT closed when the destructor for FileStream is called.

◆ ~FileStream()

virtual SAMRAI::tbox::FileStream::~FileStream ( )
virtual

The virtual destructor for a file stream. This optionally closes the file depending on the status of the closeFileOnExit() flag.

◆ FileStream() [3/3]

SAMRAI::tbox::FileStream::FileStream ( const FileStream )
private

Member Function Documentation

◆ closeFileOnExit()

void SAMRAI::tbox::FileStream::closeFileOnExit ( const bool  flag)

Flag to close or not close the file when the file streamfinishes. The default value for this flag is true if the filename constructor is used but false if the FILE constructor is used.

◆ getFILE()

FILE* SAMRAI::tbox::FileStream::getFILE ( )

Return the FILE data structure corresponding to the file stream.

◆ operator=()

void SAMRAI::tbox::FileStream::operator= ( const FileStream )
private

◆ setXDRStream()

void SAMRAI::tbox::XDRStream::setXDRStream ( XDR xdrs)
inherited

Set the XDR stream to/from which data will be written/read. The XDR stream must be set before calling any packing/unpacking operation.

◆ operator<<() [1/6]

virtual AbstractStream& SAMRAI::tbox::XDRStream::operator<< ( const bool data)
virtualinherited

◆ operator<<() [2/6]

virtual AbstractStream& SAMRAI::tbox::XDRStream::operator<< ( const char &  data)
virtualinherited

◆ operator<<() [3/6]

virtual AbstractStream& SAMRAI::tbox::XDRStream::operator<< ( const dcomplex data)
virtualinherited

◆ operator<<() [4/6]

virtual AbstractStream& SAMRAI::tbox::XDRStream::operator<< ( const double data)
virtualinherited

◆ operator<<() [5/6]

virtual AbstractStream& SAMRAI::tbox::XDRStream::operator<< ( const float &  data)
virtualinherited

◆ operator<<() [6/6]

virtual AbstractStream& SAMRAI::tbox::XDRStream::operator<< ( const int data)
virtualinherited

◆ operator>>() [1/6]

virtual AbstractStream& SAMRAI::tbox::XDRStream::operator>> ( bool data)
virtualinherited

◆ operator>>() [2/6]

virtual AbstractStream& SAMRAI::tbox::XDRStream::operator>> ( char &  data)
virtualinherited

◆ operator>>() [3/6]

virtual AbstractStream& SAMRAI::tbox::XDRStream::operator>> ( dcomplex data)
virtualinherited

◆ operator>>() [4/6]

virtual AbstractStream& SAMRAI::tbox::XDRStream::operator>> ( double data)
virtualinherited

◆ operator>>() [5/6]

virtual AbstractStream& SAMRAI::tbox::XDRStream::operator>> ( float &  data)
virtualinherited

◆ operator>>() [6/6]

virtual AbstractStream& SAMRAI::tbox::XDRStream::operator>> ( int data)
virtualinherited

◆ pack() [1/6]

virtual void SAMRAI::tbox::XDRStream::pack ( const bool data,
const int  n = 1 
)
virtualinherited

◆ pack() [2/6]

virtual void SAMRAI::tbox::XDRStream::pack ( const char *  data,
const int  n = 1 
)
virtualinherited

◆ pack() [3/6]

virtual void SAMRAI::tbox::XDRStream::pack ( const dcomplex data,
const int  n = 1 
)
virtualinherited

◆ pack() [4/6]

virtual void SAMRAI::tbox::XDRStream::pack ( const double data,
const int  n = 1 
)
virtualinherited

◆ pack() [5/6]

virtual void SAMRAI::tbox::XDRStream::pack ( const float *  data,
const int  n = 1 
)
virtualinherited

◆ pack() [6/6]

virtual void SAMRAI::tbox::XDRStream::pack ( const int data,
const int  n = 1 
)
virtualinherited

◆ unpack() [1/6]

virtual void SAMRAI::tbox::XDRStream::unpack ( bool data,
const int  n = 1 
)
virtualinherited

◆ unpack() [2/6]

virtual void SAMRAI::tbox::XDRStream::unpack ( char *  data,
const int  n = 1 
)
virtualinherited

◆ unpack() [3/6]

virtual void SAMRAI::tbox::XDRStream::unpack ( dcomplex data,
const int  n = 1 
)
virtualinherited

◆ unpack() [4/6]

virtual void SAMRAI::tbox::XDRStream::unpack ( double data,
const int  n = 1 
)
virtualinherited

◆ unpack() [5/6]

virtual void SAMRAI::tbox::XDRStream::unpack ( float *  data,
const int  n = 1 
)
virtualinherited

◆ unpack() [6/6]

virtual void SAMRAI::tbox::XDRStream::unpack ( int data,
const int  n = 1 
)
virtualinherited

◆ writeString()

virtual void SAMRAI::tbox::XDRStream::writeString ( const char *  data)
virtualinherited

◆ sizeofBool()

static int SAMRAI::tbox::AbstractStream::sizeofBool ( const int  n = 1)
staticinherited

◆ sizeofChar()

static int SAMRAI::tbox::AbstractStream::sizeofChar ( const int  n = 1)
staticinherited

◆ sizeofDoubleComplex()

static int SAMRAI::tbox::AbstractStream::sizeofDoubleComplex ( const int  n = 1)
staticinherited

◆ sizeofDouble()

static int SAMRAI::tbox::AbstractStream::sizeofDouble ( const int  n = 1)
staticinherited

◆ sizeofFloat()

static int SAMRAI::tbox::AbstractStream::sizeofFloat ( const int  n = 1)
staticinherited

◆ sizeofInt()

static int SAMRAI::tbox::AbstractStream::sizeofInt ( const int  n = 1)
staticinherited

◆ roundXDR()

static int SAMRAI::tbox::AbstractStream::roundXDR ( const int  n)
staticprivateinherited

Member Data Documentation

◆ d_xdr_stream

XDR SAMRAI::tbox::FileStream::d_xdr_stream
private

◆ d_FILE

FILE* SAMRAI::tbox::FileStream::d_FILE
private

◆ d_close_on_exit

bool SAMRAI::tbox::FileStream::d_close_on_exit
private

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