Input inter-processor communications stream. More...
Public Member Functions | |
| IPstream (const commsTypes commsType, const int fromProcNo, const label bufSize=0, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm, streamFormat format=BINARY, versionNumber version=currentVersion) | |
| Construct given process index to read from and optional buffer size,. More... | |
Public Member Functions inherited from Pstream | |
| ClassName ("Pstream") | |
| Pstream (const commsTypes commsType, const label bufSize=0) | |
| Construct given optional buffer size. 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 UIPstream | |
| UIPstream (const commsTypes commsType, const int fromProcNo, DynamicList< char > &externalBuf, label &externalBufPosition, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm, const bool clearAtEnd=false, streamFormat format=BINARY, versionNumber version=currentVersion) | |
| Construct given process index to read from and optional buffer size,. More... | |
| UIPstream (const int fromProcNo, PstreamBuffers &) | |
| Construct given buffers. More... | |
| ~UIPstream () | |
| Destructor. More... | |
| ios_base::fmtflags | flags () const |
| Return flags of output stream. More... | |
| Istream & | read (token &t) |
| Return next token from stream. More... | |
| Istream & | read (char &c) |
| Read a character. More... | |
| Istream & | read (word &str) |
| Read a word. More... | |
| Istream & | read (string &str) |
| Read a string (including enclosing double-quotes) More... | |
| Istream & | read (label &val) |
| Read a label. More... | |
| Istream & | read (floatScalar &val) |
| Read a floatScalar. More... | |
| Istream & | read (doubleScalar &val) |
| Read a doubleScalar. More... | |
| Istream & | read (char *data, std::streamsize count) |
| Read binary block with 8-byte alignment. More... | |
| Istream & | readRaw (char *data, std::streamsize count) |
| Low-level raw binary read. More... | |
| bool | beginRawRead () |
| Start of low-level raw binary read. More... | |
| bool | endRawRead () |
| End of low-level raw binary read. More... | |
| void | rewind () |
| Rewind the stream so that it may be read again. More... | |
| ios_base::fmtflags | flags (const ios_base::fmtflags) |
| Set flags of stream. More... | |
| void | print (Ostream &os) const |
| Print stream description to Ostream. More... | |
Public Member Functions inherited from Istream | |
| Istream (const Istream &)=default | |
| Copy construct. More... | |
| virtual | ~Istream ()=default |
| Destructor. More... | |
| Istream (IOstreamOption streamOpt=IOstreamOption()) | |
| Istream (streamFormat fmt, versionNumber ver=currentVersion, compressionType comp=compressionType::UNCOMPRESSED) | |
| Construct with format, version (compression) More... | |
| void | putBack (const token &tok) |
| Put back token. More... | |
| bool | getBack (token &tok) |
| Get the put back token if there is one and return true. More... | |
| bool | peekBack (token &tok) |
| Peek at the put back token without removing it. More... | |
| bool | readBegin (const char *funcName) |
| Begin read of data chunk, starts with '('. More... | |
| bool | readEnd (const char *funcName) |
| End read of data chunk, ends with ')'. More... | |
| char | readBeginList (const char *funcName) |
| Begin read of list data, starts with '(' or '{'. More... | |
| char | readEndList (const char *funcName) |
| End read of list data, ends with ')' or '}'. More... | |
| Istream & | operator() () const |
| Return a non-const reference to const Istream. More... | |
Public Member Functions inherited from IOstream | |
| IOstream (const IOstream &)=default | |
| Copy construct. More... | |
| virtual | ~IOstream ()=default |
| Destructor. More... | |
| IOstream (IOstreamOption streamOpt=IOstreamOption()) | |
| IOstream (streamFormat fmt, versionNumber ver, compressionType comp=compressionType::UNCOMPRESSED) | |
| Construct with format, version (compression) 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... | |
| bool | 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 bool () const | |
| Return true if the stream has not failed. More... | |
| bool | operator! () const |
| Return true if the stream has failed. More... | |
| unsigned | labelByteSize () const |
| The label byte-size associated with the stream. More... | |
| unsigned | scalarByteSize () const |
| The scalar byte-size associated with the stream. More... | |
| void | setLabelByteSize (unsigned nbytes) |
| Set the label byte-size associated with the stream. More... | |
| void | setScalarByteSize (unsigned nbytes) |
| Set the scalar byte-size associated with the stream. More... | |
| template<class T = label> | |
| std::enable_if< std::is_integral< T >::value, bool >::type | checkLabelSize () const |
| template<class T = scalar> | |
| std::enable_if< std::is_floating_point< T >::value, bool >::type | checkScalarSize () const |
| label | lineNumber () const |
| Const access to the current stream line number. More... | |
| label & | lineNumber () |
| Non-const access to the current stream line number. More... | |
| label | lineNumber (const label num) |
| 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 f) |
| Unset flags of stream. More... | |
| void | print (Ostream &os, const int streamState) const |
| Print information about the stream state bits. More... | |
| InfoProxy< IOstream > | info () const |
| Return info proxy. More... | |
Public Member Functions inherited from IOstreamOption | |
| constexpr | IOstreamOption (streamFormat fmt=streamFormat::ASCII, compressionType comp=compressionType::UNCOMPRESSED) noexcept |
| constexpr | IOstreamOption (streamFormat fmt, compressionType comp, versionNumber ver) noexcept |
| Construct from components (format, compression, version) More... | |
| constexpr | IOstreamOption (streamFormat fmt, versionNumber ver, compressionType comp=compressionType::UNCOMPRESSED) noexcept |
| Construct from components (format, version, compression) More... | |
| IOstreamOption (const IOstreamOption &opt, streamFormat fmt) noexcept | |
| Copy construct with change of format. More... | |
| streamFormat | format () const noexcept |
| Get the current stream format. More... | |
| streamFormat | format (const streamFormat fmt) noexcept |
| Set the stream format. More... | |
| streamFormat | format (const word &formatName) |
| Set the stream format from string value. More... | |
| compressionType | compression () const noexcept |
| Get the stream compression. More... | |
| compressionType | compression (const compressionType comp) noexcept |
| Set the stream compression. More... | |
| compressionType | compression (const word &compName) |
| Set the stream compression from string value. More... | |
| versionNumber | version () const noexcept |
| Get the stream version. More... | |
| versionNumber | version (const versionNumber ver) noexcept |
| Set the stream version. More... | |
| versionNumber | version (const token &tok) |
| Set the stream version from token. 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 : char { CLOSED = 0, OPENED } |
| Enumeration for stream open/closed state. More... | |
Public Types inherited from IOstreamOption | |
| enum | streamFormat : char { ASCII = 0, BINARY } |
| Data format (ascii | binary) More... | |
| enum | compressionType : char { UNCOMPRESSED = 0, COMPRESSED } |
| Compression treatment (UNCOMPRESSED | COMPRESSED) More... | |
Static Public Member Functions inherited from Pstream | |
| template<class T , class BinaryOp > | |
| static void | gather (const List< commsStruct > &comms, T &Value, const BinaryOp &bop, const int tag, const label comm) |
| Gather data. Apply bop to combine Value. More... | |
| template<class T , class BinaryOp > | |
| static void | gather (T &Value, const BinaryOp &bop, const int tag=Pstream::msgType(), const label comm=Pstream::worldComm) |
| Like above but switches between linear/tree communication. More... | |
| template<class T > | |
| static void | scatter (const List< commsStruct > &comms, T &Value, const int tag, const label comm) |
| Scatter data. Distribute without modification. Reverse of gather. More... | |
| template<class T > | |
| static void | scatter (T &Value, const int tag=Pstream::msgType(), const label comm=Pstream::worldComm) |
| Like above but switches between linear/tree communication. More... | |
| template<class T , class CombineOp > | |
| static void | combineGather (const List< commsStruct > &comms, T &Value, const CombineOp &cop, const int tag, const label comm) |
| template<class T , class CombineOp > | |
| static void | combineGather (T &Value, const CombineOp &cop, const int tag=Pstream::msgType(), const label comm=Pstream::worldComm) |
| Like above but switches between linear/tree communication. More... | |
| template<class T > | |
| static void | combineScatter (const List< commsStruct > &comms, T &Value, const int tag, const label comm) |
| Scatter data. Reverse of combineGather. More... | |
| template<class T > | |
| static void | combineScatter (T &Value, const int tag=Pstream::msgType(), const label comm=Pstream::worldComm) |
| Like above but switches between linear/tree communication. More... | |
| template<class T , class CombineOp > | |
| static void | listCombineGather (const List< commsStruct > &comms, List< T > &Value, const CombineOp &cop, const int tag, const label comm) |
| template<class T , class CombineOp > | |
| static void | listCombineGather (List< T > &Value, const CombineOp &cop, const int tag=Pstream::msgType(), const label comm=Pstream::worldComm) |
| Like above but switches between linear/tree communication. More... | |
| template<class T > | |
| static void | listCombineScatter (const List< commsStruct > &comms, List< T > &Value, const int tag, const label comm) |
| Scatter data. Reverse of combineGather. More... | |
| template<class T > | |
| static void | listCombineScatter (List< T > &Value, const int tag=Pstream::msgType(), const label comm=Pstream::worldComm) |
| Like above but switches between linear/tree communication. More... | |
| template<class Container , class CombineOp > | |
| static void | mapCombineGather (const List< commsStruct > &comms, Container &Values, const CombineOp &cop, const int tag, const label comm) |
| template<class Container , class CombineOp > | |
| static void | mapCombineGather (Container &Values, const CombineOp &cop, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm) |
| Like above but switches between linear/tree communication. More... | |
| template<class Container > | |
| static void | mapCombineScatter (const List< commsStruct > &comms, Container &Values, const int tag, const label comm) |
| Scatter data. Reverse of combineGather. More... | |
| template<class Container > | |
| static void | mapCombineScatter (Container &Values, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm) |
| Like above but switches between linear/tree communication. More... | |
| template<class T > | |
| static void | gatherList (const List< commsStruct > &comms, List< T > &Values, const int tag, const label comm) |
| Gather data but keep individual values separate. More... | |
| template<class T > | |
| static void | gatherList (List< T > &Values, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm) |
| Like above but switches between linear/tree communication. More... | |
| template<class T > | |
| static void | scatterList (const List< commsStruct > &comms, List< T > &Values, const int tag, const label comm) |
| Scatter data. Reverse of gatherList. More... | |
| template<class T > | |
| static void | scatterList (List< T > &Values, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm) |
| Like above but switches between linear/tree communication. More... | |
| template<class Container , class T > | |
| static void | exchange (const UList< Container > &sendData, const labelUList &recvSizes, List< Container > &recvData, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm, const bool block=true) |
| Helper: exchange contiguous data. Sends sendData, receives into. More... | |
| template<class Container > | |
| static void | exchangeSizes (const Container &sendData, labelList &sizes, const label comm=UPstream::worldComm) |
| Helper: exchange sizes of sendData. sendData is the data per. More... | |
| template<class Container , class T > | |
| static void | exchange (const UList< Container > &sendData, List< Container > &recvData, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm, const bool block=true) |
| Exchange contiguous data. Sends sendData, receives into. 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) |
| static label | procNo (const label comm, const int baseProcID) |
| static label | procNo (const label myComm, const label currentComm, const int currentProcID) |
| static void | addValidParOptions (HashTable< string > &validParOptions) |
| static bool | init (int &argc, char **&argv, const bool needsThread) |
| Initialisation function called from main. More... | |
| static bool | initNull () |
| Special purpose initialisation function. 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 constexpr int | masterNo () noexcept |
| 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 constexpr int | firstSlave () noexcept |
| 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 | shutdown (int errNo=0) |
| Shutdown (finalize) MPI as required. More... | |
| static void | abort () |
| Call MPI_Abort with no other checks or cleanup. More... | |
| static void | exit (int errNo=1) |
| Shutdown (finalize) MPI as required and exit program with errNo. 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 UIPstream | |
| static label | read (const commsTypes commsType, const int fromProcNo, char *buf, const std::streamsize bufSize, const int tag=UPstream::msgType(), const label communicator=0) |
| Read into given buffer from given processor and return the. More... | |
Static Public Member Functions inherited from IOstream | |
| static unsigned int | defaultPrecision () |
| Return the default precision. More... | |
| static unsigned int | defaultPrecision (unsigned int prec) |
| Reset the default precision. More... | |
Static Public Member Functions inherited from IOstreamOption | |
| static streamFormat | formatEnum (const word &formatName, const streamFormat deflt=streamFormat::ASCII) |
| static streamFormat | formatEnum (const word &key, const dictionary &dict, const streamFormat deflt=streamFormat::ASCII) |
| Failsafe construct streamFormat from optional dictionary lookup. More... | |
| static compressionType | compressionEnum (const word &compName, const compressionType deflt=compressionType::UNCOMPRESSED) |
| The compression enum corresponding to the string. More... | |
| static compressionType | compressionEnum (const word &key, const dictionary &dict, const compressionType deflt=compressionType::UNCOMPRESSED) |
| Failsafe construct compressionType from optional dictionary lookup. More... | |
Static Public Attributes inherited from UPstream | |
| static const Enum< commsTypes > | commsTypeNames |
| Names of the communication types. More... | |
| static bool | floatTransfer |
| static int | nProcsSimpleSum |
| static commsTypes | defaultCommsType |
| Default commsType. More... | |
| static int | nPollProcInterfaces |
| Number of polling cycles in processor updates. More... | |
| static int | maxCommsSize |
| Optional maximum message size (bytes) More... | |
| static const int | mpiBufferSize |
| MPI buffer-size (bytes) 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 unsigned int | precision_ |
| Default precision. More... | |
Static Public Attributes inherited from IOstreamOption | |
| static const Enum< streamFormat > | formatNames |
| Stream format names (ascii, binary) More... | |
| static const versionNumber | currentVersion |
| The current version number (2.0) 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 Pstream | |
| DynamicList< char > | buf_ |
| Transfer buffer. More... | |
Protected Attributes inherited from UPstream | |
| commsTypes | commsType_ |
| Communications type of this stream. More... | |
Protected Attributes inherited from IOstream | |
| streamAccess | openClosed_ |
| ios_base::iostate | ioState_ |
| unsigned short | labelByteSize_ |
| The label byte-size (could also be stored as byte) More... | |
| unsigned short | scalarByteSize_ |
| The scalar byte-size (could also be stored as byte) More... | |
| label | lineNumber_ |
| The file line. More... | |
Static Protected Attributes inherited from IOstream | |
| static fileName | staticName_ |
| Name for any generic stream - normally treat as readonly. More... | |
| IPstream | ( | const commsTypes | commsType, |
| const int | fromProcNo, | ||
| const label | bufSize = 0, |
||
| const int | tag = UPstream::msgType(), |
||
| const label | comm = UPstream::worldComm, |
||
| streamFormat | format = BINARY, |
||
| versionNumber | version = currentVersion |
||
| ) |
Construct given process index to read from and optional buffer size,.
read format and IO version
Definition at line 33 of file IPstream.C.