Output inter-processor communications stream operating on external buffer. More...
Public Member Functions | |
UOPstream (const commsTypes commsType, const int toProcNo, DynamicList< char > &sendBuf, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm, const bool sendAtDestruct=true, streamFormat format=BINARY, versionNumber version=currentVersion) | |
Construct given process index to send to and optional buffer size,. More... | |
UOPstream (const int toProcNo, PstreamBuffers &) | |
Construct given buffers. More... | |
~UOPstream () | |
Destructor. More... | |
ios_base::fmtflags | flags () const |
Return flags of output stream. More... | |
Ostream & | write (const char) |
Write character. More... | |
Ostream & | write (const char *) |
Write character string. More... | |
Ostream & | write (const word &) |
Write word. More... | |
Ostream & | write (const string &) |
Write string. More... | |
Ostream & | write (const verbatimString &) |
Write verbatimString. More... | |
Ostream & | writeQuoted (const std::string &, const bool quoted=true) |
Write std::string surrounded by quotes. More... | |
virtual Ostream & | write (const int32_t) |
Write int32_t. More... | |
Ostream & | write (const int64_t) |
Write int64_t. More... | |
Ostream & | write (const floatScalar) |
Write floatScalar. More... | |
Ostream & | write (const doubleScalar) |
Write doubleScalar. More... | |
Ostream & | write (const longDoubleScalar) |
Write longDoubleScalar. More... | |
Ostream & | write (const char *, std::streamsize) |
Write binary block. More... | |
void | indent () |
Add indentation characters. More... | |
void | flush () |
Flush stream. More... | |
void | endl () |
Add newline and flush stream. More... | |
int | width () const |
Get width of output field. More... | |
int | width (const int) |
Set width of output field (and return old width) More... | |
int | precision () const |
Get precision of output field. More... | |
int | precision (const int) |
Set precision of output field (and return old precision) More... | |
ios_base::fmtflags | flags (const ios_base::fmtflags) |
Set flags of stream. More... | |
void | print (Ostream &) const |
Print description of IOstream to Ostream. More... | |
Public Member Functions inherited from UPstream | |
ClassName ("UPstream") | |
UPstream (const commsTypes commsType) | |
Construct given optional buffer size. More... | |
commsTypes | commsType () const |
Get the communications type of the stream. More... | |
commsTypes | commsType (const commsTypes ct) |
Set the communications type of the stream. More... | |
Public Member Functions inherited from Ostream | |
Ostream (streamFormat format=ASCII, versionNumber version=currentVersion, compressionType compression=UNCOMPRESSED) | |
Set stream status. More... | |
virtual | ~Ostream () |
Destructor. More... | |
unsigned short | indentLevel () const |
Return indent level. More... | |
unsigned short & | indentLevel () |
Access to indent level. More... | |
void | incrIndent () |
Incrememt the indent level. More... | |
void | decrIndent () |
Decrememt the indent level. More... | |
Ostream & | writeKeyword (const keyType &) |
Write the keyword followed by an appropriate indentation. More... | |
Ostream & | operator() () const |
Return a non-const reference to const Ostream. More... | |
Public Member Functions inherited from IOstream | |
IOstream (streamFormat format, versionNumber version, compressionType compression=UNCOMPRESSED) | |
Construct setting format and version. More... | |
virtual | ~IOstream () |
Destructor. More... | |
virtual const fileName & | name () const |
Return the name of the stream. More... | |
virtual fileName & | name () |
Return non-const access to the name of the stream. More... | |
virtual bool | check (const char *operation) const |
Check IOstream status for given operation. More... | |
void | fatalCheck (const char *operation) const |
Check IOstream status for given operation. More... | |
bool | opened () const |
Return true if stream has been opened. More... | |
bool | closed () const |
Return true if stream is closed. More... | |
bool | good () const |
Return true if next operation might succeed. More... | |
bool | eof () const |
Return true if end of input seen. More... | |
bool | fail () const |
Return true if next operation will fail. More... | |
bool | bad () const |
Return true if stream is corrupted. More... | |
operator void * () const | |
Return non-zero if the stream has not failed. More... | |
bool | operator! () const |
Return true if the stream has failed. More... | |
streamFormat | format () const |
Return current stream format. More... | |
streamFormat | format (const streamFormat fmt) |
Set the stream format. More... | |
streamFormat | format (const word &fmt) |
Set the stream format from word. More... | |
versionNumber | version () const |
Return the stream version. More... | |
versionNumber | version (const versionNumber ver) |
Set the stream version. More... | |
compressionType | compression () const |
Return the stream compression. More... | |
compressionType | compression (const compressionType cmp) |
Set the stream compression. More... | |
compressionType | compression (const word &cmp) |
Set the stream compression from word. More... | |
label | lineNumber () const |
Return current stream line number. More... | |
label & | lineNumber () |
Return current stream line number. More... | |
label | lineNumber (const label ln) |
Set the stream line number. More... | |
void | setEof () |
Set stream to have reached eof. More... | |
void | setFail () |
Set stream to have failed. More... | |
void | setBad () |
Set stream to be bad. More... | |
ios_base::fmtflags | setf (const ios_base::fmtflags f) |
Set flags of stream. More... | |
ios_base::fmtflags | setf (const ios_base::fmtflags f, const ios_base::fmtflags mask) |
Set flags of given field of stream. More... | |
void | unsetf (const ios_base::fmtflags uf) |
Unset flags of stream. More... | |
void | print (Ostream &, const int streamState) const |
Check given stream state bits. More... | |
InfoProxy< IOstream > | info () const |
Return info proxy. More... | |
Static Public Member Functions | |
static bool | write (const commsTypes commsType, const int toProcNo, const char *buf, const std::streamsize bufSize, const int tag=UPstream::msgType(), const label communicator=0) |
Write given buffer to given processor. More... | |
Static Public Member Functions inherited from UPstream | |
static label | allocateCommunicator (const label parent, const labelList &subRanks, const bool doPstream=true) |
Allocate a new communicator. More... | |
static void | freeCommunicator (const label communicator, const bool doPstream=true) |
Free a previously allocated communicator. More... | |
static void | freeCommunicators (const bool doPstream) |
Free all communicators. More... | |
static int | baseProcNo (const label myComm, const int procID) |
Return physical processor number (i.e. processor number in. More... | |
static label | procNo (const label comm, const int baseProcID) |
Return processor number in communicator (given physical processor. More... | |
static label | procNo (const label myComm, const label currentComm, const int currentProcID) |
Return processor number in communicator (given processor number. More... | |
static void | addValidParOptions (HashTable< string > &validParOptions) |
Add the valid option this type of communications library. More... | |
static bool | init (int &argc, char **&argv, const bool needsThread) |
Initialisation function called from main. More... | |
static label | nRequests () |
Get number of outstanding requests. More... | |
static void | resetRequests (const label sz) |
Truncate number of outstanding requests. More... | |
static void | waitRequests (const label start=0) |
Wait until all requests (from start onwards) have finished. More... | |
static void | waitRequest (const label i) |
Wait until request i has finished. More... | |
static bool | finishedRequest (const label i) |
Non-blocking comms: has request i finished? More... | |
static int | allocateTag (const char *) |
static int | allocateTag (const word &) |
static void | freeTag (const char *, const int tag) |
static void | freeTag (const word &, const int tag) |
static bool & | parRun () |
Is this a parallel run? More... | |
static bool | haveThreads () |
Have support for threads. More... | |
static label | nProcs (const label communicator=0) |
Number of processes in parallel run. More... | |
static int | masterNo () |
Process index of the master. More... | |
static bool | master (const label communicator=0) |
Am I the master process. More... | |
static int | myProcNo (const label communicator=0) |
Number of this process (starting from masterNo() = 0) More... | |
static label | parent (const label communicator) |
static List< int > & | procID (label communicator) |
Process ID of given process index. More... | |
static int | firstSlave () |
Process index of first slave. More... | |
static int | lastSlave (const label communicator=0) |
Process index of last slave. More... | |
static const List< commsStruct > & | linearCommunication (const label communicator=0) |
Communication schedule for linear all-to-master (proc 0) More... | |
static const List< commsStruct > & | treeCommunication (const label communicator=0) |
Communication schedule for tree all-to-master (proc 0) More... | |
static int & | msgType () |
Message tag of standard messages. More... | |
static void | exit (int errnum=1) |
Exit program. More... | |
static void | abort () |
Abort program. More... | |
static void | allToAll (const labelUList &sendData, labelUList &recvData, const label communicator=0) |
Exchange label with all processors (in the communicator). More... | |
static void | allToAll (const char *sendData, const UList< int > &sendSizes, const UList< int > &sendOffsets, char *recvData, const UList< int > &recvSizes, const UList< int > &recvOffsets, const label communicator=0) |
Exchange data with all processors (in the communicator) More... | |
static void | gather (const char *sendData, int sendSize, char *recvData, const UList< int > &recvSizes, const UList< int > &recvOffsets, const label communicator=0) |
Receive data from all processors on the master. More... | |
static void | scatter (const char *sendData, const UList< int > &sendSizes, const UList< int > &sendOffsets, char *recvData, int recvSize, const label communicator=0) |
Send data to all processors from the root of the communicator. More... | |
Static Public Member Functions inherited from IOstream | |
static streamFormat | formatEnum (const word &) |
Return stream format of given format name. More... | |
static compressionType | compressionEnum (const word &) |
Return compression of given compression name. More... | |
static unsigned int | defaultPrecision () |
Return the default precision. More... | |
static unsigned int | defaultPrecision (unsigned int p) |
Reset the default precision (and return old precision) More... | |
Additional Inherited Members | |
Public Types inherited from UPstream | |
enum | commsTypes { blocking, scheduled, nonBlocking } |
Types of communications. More... | |
Public Types inherited from IOstream | |
enum | streamAccess { OPENED, CLOSED } |
Enumeration for whether the stream open or closed. More... | |
enum | streamFormat { ASCII, BINARY } |
Enumeration for the format of data in the stream. More... | |
enum | compressionType { UNCOMPRESSED, COMPRESSED } |
Enumeration for the format of data in the stream. More... | |
Static Public Attributes inherited from UPstream | |
static const NamedEnum< commsTypes, 3 > | commsTypeNames |
static bool | floatTransfer |
Should compact transfer be used in which floats replace doubles. More... | |
static int | nProcsSimpleSum |
Number of processors at which the sum algorithm changes from linear. More... | |
static commsTypes | defaultCommsType |
Default commsType. More... | |
static int | nPollProcInterfaces |
Number of polling cycles in processor updates. More... | |
static label | worldComm |
Default communicator (all processors) More... | |
static label | warnComm |
Debugging: warn for use of any communicator differing from warnComm. More... | |
Static Public Attributes inherited from IOstream | |
static const versionNumber | originalVersion |
Original version number. More... | |
static const versionNumber | currentVersion |
Current version number. More... | |
static unsigned int | precision_ |
Default precision. More... | |
Protected Member Functions inherited from IOstream | |
void | setOpened () |
Set stream opened. More... | |
void | setClosed () |
Set stream closed. More... | |
void | setState (ios_base::iostate state) |
Set stream state. More... | |
void | setGood () |
Set stream to be good. More... | |
Protected Attributes inherited from UPstream | |
commsTypes | commsType_ |
Communications type of this stream. More... | |
Protected Attributes inherited from Ostream | |
unsigned short | indentLevel_ |
Current indent level. More... | |
Protected Attributes inherited from IOstream | |
label | lineNumber_ |
Static Protected Attributes inherited from Ostream | |
static const unsigned short | indentSize_ = 4 |
Number of spaces per indent level. More... | |
Output inter-processor communications stream operating on external buffer.
Definition at line 54 of file UOPstream.H.
UOPstream | ( | const commsTypes | commsType, |
const int | toProcNo, | ||
DynamicList< char > & | sendBuf, | ||
const int | tag = UPstream::msgType() , |
||
const label | comm = UPstream::worldComm , |
||
const bool | sendAtDestruct = true , |
||
streamFormat | format = BINARY , |
||
versionNumber | version = currentVersion |
||
) |
Construct given process index to send to and optional buffer size,.
write format and IO version
Definition at line 84 of file UOPstream.C.
References IOstream::setGood(), and IOstream::setOpened().
UOPstream | ( | const int | toProcNo, |
PstreamBuffers & | buffers | ||
) |
Construct given buffers.
Definition at line 108 of file UOPstream.C.
References IOstream::setGood(), and IOstream::setOpened().
~UOPstream | ( | ) |
Destructor.
Definition at line 125 of file UOPstream.C.
References Foam::abort(), UList< T >::begin(), UPstream::commsType_, Foam::FatalError, FatalErrorInFunction, List< T >::size(), and UOPstream::write().
|
inlinevirtual |
Return flags of output stream.
Implements IOstream.
Definition at line 116 of file UOPstream.H.
References UPstream::msgType(), UOPstream::write(), and UOPstream::writeQuoted().
|
static |
Write given buffer to given processor.
Definition at line 34 of file UOPwrite.C.
References NotImplemented.
Referenced by mapDistributeBase::compact(), UOPstream::flags(), Pstream::gather(), lduPrimitiveMesh::gather(), Pstream::gatherList(), processorFvPatchField< Type >::initInterfaceMatrixUpdate(), processorGAMGInterfaceField::initInterfaceMatrixUpdate(), masterUncollatedFileOperation::readAndSend(), Pstream::scatter(), Pstream::scatterList(), UOPstream::write(), OFstreamCollator::write(), decomposedBlockData::writeBlocks(), masterOFstream::~masterOFstream(), and UOPstream::~UOPstream().
|
virtual |
Write character.
Implements Ostream.
Definition at line 153 of file UOPstream.C.
References Foam::isspace().
|
virtual |
Write character string.
Implements Ostream.
Definition at line 164 of file UOPstream.C.
References UOPstream::write().
|
virtual |
|
virtual |
Write string.
Implements Ostream.
Definition at line 195 of file UOPstream.C.
References token::STRING.
|
virtual |
Write verbatimString.
Implements Ostream.
Definition at line 207 of file UOPstream.C.
References token::VERBATIMSTRING, and UOPstream::writeQuoted().
|
virtual |
Write std::string surrounded by quotes.
Optional write without quotes.
Implements Ostream.
Definition at line 220 of file UOPstream.C.
References token::STRING, and token::WORD.
Referenced by UOPstream::flags(), and UOPstream::write().
|
virtual |
Write int32_t.
Implements Ostream.
Definition at line 242 of file UOPstream.C.
References token::LABEL.
|
virtual |
Write int64_t.
Implements Ostream.
Definition at line 250 of file UOPstream.C.
References token::LABEL.
|
virtual |
Write floatScalar.
Implements Ostream.
Definition at line 258 of file UOPstream.C.
References token::FLOAT_SCALAR.
|
virtual |
Write doubleScalar.
Implements Ostream.
Definition at line 266 of file UOPstream.C.
References token::DOUBLE_SCALAR.
|
virtual |
Write longDoubleScalar.
Implements Ostream.
Definition at line 274 of file UOPstream.C.
References token::LONG_DOUBLE_SCALAR.
|
virtual |
Write binary block.
Implements Ostream.
Definition at line 282 of file UOPstream.C.
References Foam::abort(), IOstream::BINARY, Foam::FatalError, FatalErrorInFunction, and IOstream::format().
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Set width of output field (and return old width)
Implements Ostream.
Definition at line 198 of file UOPstream.H.
|
inlinevirtual |
|
inlinevirtual |
Set precision of output field (and return old precision)
Implements Ostream.
Definition at line 210 of file UOPstream.H.
|
inlinevirtual |
Set flags of stream.
Implements IOstream.
Definition at line 219 of file UOPstream.H.
References UOPstream::print().
|
virtual |
Print description of IOstream to Ostream.
Reimplemented from IOstream.
Definition at line 297 of file UOPstream.C.
References Foam::endl(), and UPstream::myProcNo().
Referenced by UOPstream::flags().