| 115 | } |
| 116 | |
| 117 | bool MemoryWriteStream::prependToAndReset(const std::shared_ptr<MemoryWriteStream>& destStream) { |
| 118 | if (!destStream) { |
| 119 | return false; |
| 120 | } |
| 121 | if (bytesWritten() == 0) { |
| 122 | return true; |
| 123 | } |
| 124 | if (destStream->bytesWritten() == 0) { |
| 125 | destStream->buffer.swap(buffer); |
| 126 | return true; |
| 127 | } |
| 128 | buffer.insert(buffer.end(), destStream->buffer.begin(), destStream->buffer.end()); |
| 129 | destStream->buffer.swap(buffer); |
| 130 | reset(); |
| 131 | return true; |
| 132 | } |
| 133 | |
| 134 | size_t MemoryWriteStream::bytesWritten() const { |
| 135 | return buffer.size(); |
no test coverage detected