| 53 | \*---------------------------------------------------------------------------*/ |
| 54 | |
| 55 | class UOPstream |
| 56 | : |
| 57 | public UPstream, |
| 58 | public Ostream |
| 59 | { |
| 60 | // Private data |
| 61 | |
| 62 | int toProcNo_; |
| 63 | |
| 64 | DynamicList<char>& sendBuf_; |
| 65 | |
| 66 | const int tag_; |
| 67 | |
| 68 | const label comm_; |
| 69 | |
| 70 | const bool sendAtDestruct_; |
| 71 | |
| 72 | |
| 73 | // Private Member Functions |
| 74 | |
| 75 | //- Write a T to the transfer buffer |
| 76 | template<class T> |
| 77 | inline void writeToBuffer(const T&); |
| 78 | |
| 79 | //- Write a char to the transfer buffer |
| 80 | inline void writeToBuffer(const char&); |
| 81 | |
| 82 | //- Write data to the transfer buffer |
| 83 | inline void writeToBuffer(const void* data, size_t count, size_t align); |
| 84 | |
| 85 | |
| 86 | public: |
| 87 | |
| 88 | // Constructors |
| 89 | |
| 90 | //- Construct given process index to send to and optional buffer size, |
| 91 | // write format and IO version |
| 92 | UOPstream |
| 93 | ( |
| 94 | const commsTypes commsType, |
| 95 | const int toProcNo, |
| 96 | DynamicList<char>& sendBuf, |
| 97 | const int tag = UPstream::msgType(), |
| 98 | const label comm = UPstream::worldComm, |
| 99 | const bool sendAtDestruct = true, |
| 100 | streamFormat format=BINARY, |
| 101 | versionNumber version=currentVersion |
| 102 | ); |
| 103 | |
| 104 | //- Construct given buffers |
| 105 | UOPstream(const int toProcNo, PstreamBuffers&); |
| 106 | |
| 107 | |
| 108 | //- Destructor |
| 109 | ~UOPstream(); |
| 110 | |
| 111 | |
| 112 | // Member functions |