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 }
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); }