void Stream::WriteData(const StreamBuffer& value) { if (streamMode == SmMemory) { ExpandMemoryStream(value.size()); std::memcpy(buffer.data() + position, value.data(), value.size()); position += value.size(); } else fileStream.write(reinterpret_cast<const char*>(value.data()), value.size()); }
void Stream::ReadData(const StreamBuffer& value) { if (streamMode == SmMemory) { unsigned int size = std::max(static_cast<int>(value.size()), static_cast<int>(value.size() - buffer.size())); std::memcpy((void*)value.data(), buffer.data() + position, size); position += value.size(); } else fileStream.read(reinterpret_cast<char*>(const_cast<unsigned char*>(value.data())), value.size()); }