FreeFOAM The Cross-Platform CFD Toolkit
OPstreamImpl Class Reference

Abstract base class for OPstream operations that depend on the parallel library used. Foam::OPstreamImpl::New will lookup the entry "PstreamImplementation" in the global controlDict file (i.e. the one found by Foam::dotFoam) and tries to first load a library named lib<PstreamImplementation>Pstream.so, and then instantiate the class <PstreamImplementation>OPstreamImpl. More...

#include <OpenFOAM/OPstreamImpl.H>


Detailed Description

Abstract base class for OPstream operations that depend on the parallel library used. Foam::OPstreamImpl::New will lookup the entry "PstreamImplementation" in the global controlDict file (i.e. the one found by Foam::dotFoam) and tries to first load a library named lib<PstreamImplementation>Pstream.so, and then instantiate the class <PstreamImplementation>OPstreamImpl.

Source files

Definition at line 64 of file OPstreamImpl.H.

+ Inheritance diagram for OPstreamImpl:

List of all members.

Public Member Functions

 TypeName ("OPstreamImpl")
 declareRunTimeSelectionTable (autoPtr, OPstreamImpl, dictionary,(),())
 OPstreamImpl ()
 Construct null.
virtual bool write (const PstreamImpl::commsTypes commsType, const int toProcNo, const char *buf, const std::streamsize bufSize)=0
 Write given buffer to given processor.
virtual void waitRequests ()=0
 Non-blocking writes: wait until all have finished.
virtual bool finishedRequest (const label i)=0
 Non-blocking writes: has request i finished?
virtual void flush (const PstreamImpl::commsTypes commsType, const int toProcNo, const char *buf, const int bufPosition)=0
 Flush the buffer (used in OPstream::~OPstream())

Static Public Member Functions

static autoPtr< OPstreamImplNew ()
 Return a reference to the selected OPstreamImpl implementation.

Constructor & Destructor Documentation

OPstreamImpl ( )
inline

Construct null.

Definition at line 98 of file OPstreamImpl.H.


Member Function Documentation

TypeName ( "OPstreamImpl"  )
declareRunTimeSelectionTable ( autoPtr  ,
OPstreamImpl  ,
dictionary  ,
()  ,
()   
)
Foam::autoPtr< Foam::OPstreamImpl > New ( )
static

Return a reference to the selected OPstreamImpl implementation.

Definition at line 46 of file OPstreamImpl.C.

virtual bool write ( const PstreamImpl::commsTypes  commsType,
const int  toProcNo,
const char *  buf,
const std::streamsize  bufSize 
)
pure virtual

Write given buffer to given processor.

Implemented in dummyOPstreamImpl, and mpiOPstreamImpl.

Referenced by OPstream::write().

virtual void waitRequests ( )
pure virtual

Non-blocking writes: wait until all have finished.

Implemented in dummyOPstreamImpl, and mpiOPstreamImpl.

Referenced by OPstream::waitRequests().

virtual bool finishedRequest ( const label  i)
pure virtual

Non-blocking writes: has request i finished?

Implemented in dummyOPstreamImpl, and mpiOPstreamImpl.

Referenced by OPstream::finishedRequest().

virtual void flush ( const PstreamImpl::commsTypes  commsType,
const int  toProcNo,
const char *  buf,
const int  bufPosition 
)
pure virtual

Flush the buffer (used in OPstream::~OPstream())

Implemented in dummyOPstreamImpl, and mpiOPstreamImpl.


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