Пример #1
0
void Serializer::deserialize_check(size_t size, std::istream& src) {
#if !defined(NDEBUG)
    size_type src_size = bytes_left(src);
    
    if(src_size == 0) {
        throw EmptyStream();
    }
    
    if(src_size < size) {
        throw InsufficientData();
    }
#endif
}
Пример #2
0
	void File::ReadCompleteBuffer (const BufferPtr &buffer) const
	{
		size_t dataLeft = buffer.Size();
		size_t offset = 0;

		while (dataLeft > 0)
		{
			size_t dataRead = static_cast <size_t> (Read (buffer.GetRange (offset, dataLeft)));
			if (dataRead == 0)
				throw InsufficientData (SRC_POS);

			dataLeft -= dataRead;
			offset += dataRead;
		}
	}
	void MemoryStream::ReadCompleteBuffer (const BufferPtr &buffer)
	{
		if (Read (buffer) != buffer.Size())
			throw InsufficientData (SRC_POS);
	}