40 inline void Foam::OPstream::writeToBuffer(
const T& t)
42 writeToBuffer(&t,
sizeof(
T),
sizeof(
T));
46 inline void Foam::OPstream::writeToBuffer(
const char& c)
48 if (
size_t(buf_.size()) < bufPosition_ + 1
U)
53 buf_[bufPosition_] = c;
58 inline void Foam::OPstream::writeToBuffer
65 label oldPos = bufPosition_;
70 bufPosition_ = align + ((bufPosition_ - 1) & ~(align - 1));
73 if (
size_t(buf_.size()) < bufPosition_ + count)
75 enlargeBuffer(bufPosition_ - oldPos + count);
78 register char* bufPtr = &buf_[bufPosition_];
79 register const char* dataPtr =
reinterpret_cast<const char*
>(data);
80 register size_t i = count;
81 while (i--) *bufPtr++ = *dataPtr++;
83 bufPosition_ += count;
120 impl()->flush(commsType_, toProcNo_, buf_.begin(), bufPosition_);
146 word nonWhiteChars(string::validate<word>(str));
148 if (nonWhiteChars.size() == 1)
150 return write(nonWhiteChars.c_str()[1]);
152 else if (nonWhiteChars.size())
154 return write(nonWhiteChars);
167 size_t len = str.size();
169 writeToBuffer(str.c_str(), len + 1, 1);
179 size_t len = str.size();
181 writeToBuffer(str.c_str(), len + 1, 1);
191 size_t len = str.size();
193 writeToBuffer(str.c_str(), len + 1, 1);
227 FatalErrorIn(
"Ostream::write(const char*, std::streamsize)")
228 <<
"stream format not binary"
232 writeToBuffer(data, count, 8);