Beispiel #1
0
	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());
	}
Beispiel #2
0
	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());
	}