IBAMR  IBAMR version 0.20.
Public Member Functions | List of all members
SAMRAI::tbox::XDRStream Class Reference

#include <tbox/XDRStream.h>

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

Public Member Functions

 XDRStream ()
 
void setXDRStream (XDR *xdrs)
 
virtual ~XDRStream ()
 
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...
 

Static Public Member Functions

Stream Space Calculation Primitives

Calculate the stream space needed for various data types.

static int sizeofBool (const int n=1)
 Calculate the stream space needed for n bools. More...
 
static int sizeofChar (const int n=1)
 Calculate the stream space needed for n chars. More...
 
static int sizeofDoubleComplex (const int n=1)
 Calculate the stream space needed for n double complex. More...
 
static int sizeofDouble (const int n=1)
 Calculate the stream space needed for n doubles. More...
 
static int sizeofFloat (const int n=1)
 Calculate the stream space needed for n floats. More...
 
static int sizeofInt (const int n=1)
 Calculate the stream space needed for n ints. More...
 

Static Private Member Functions

Integer Stream Primitives

Pack and unpack integers into and out of the abstract stream.

static int roundXDR (const int n)
 

Integer Stream Primitives

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

XDRd_xdr_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...
 

Detailed Description

Class XDRStream provides pack/unpack operations that convert between machine representation and XDR representation for portable interprocessor communication. Note that unless XDR translation is required for portability across machine architectures, it would be faster to copy data directly.

The appropriate XDR stream must be set by setXDRStream() before any of the packing or unpacking calls are made. All of the packing and unpacking operations have been defined here for the XDR operations.

See also
tbox::AbstractStream

Constructor & Destructor Documentation

◆ XDRStream()

SAMRAI::tbox::XDRStream::XDRStream ( )

Standard default constructor for the XDR stream.

◆ ~XDRStream()

virtual SAMRAI::tbox::XDRStream::~XDRStream ( )
virtual

Virtual destructor for the XDR stream.

Member Function Documentation

◆ setXDRStream()

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

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)
virtual

◆ operator>>() [1/6]

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

◆ pack() [1/6]

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

◆ unpack() [1/6]

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

◆ operator<<() [2/6]

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

◆ operator>>() [2/6]

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

◆ pack() [2/6]

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

◆ unpack() [2/6]

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

◆ writeString()

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

◆ operator<<() [3/6]

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

◆ operator>>() [3/6]

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

◆ pack() [3/6]

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

◆ unpack() [3/6]

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

◆ operator<<() [4/6]

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

◆ operator>>() [4/6]

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

◆ pack() [4/6]

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

◆ unpack() [4/6]

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

◆ operator<<() [5/6]

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

◆ operator>>() [5/6]

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

◆ pack() [5/6]

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

◆ unpack() [5/6]

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

◆ operator<<() [6/6]

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

◆ operator>>() [6/6]

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

◆ pack() [6/6]

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

◆ unpack() [6/6]

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

◆ 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::XDRStream::d_xdr_stream
private

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