MemBufInputByteStreamRef::get buffer: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
м (Андрей Чусов переименовал страницу MemBufInputByteStreamRef::GetBuffer в MemBufInputByteStreamRef::get buffer)
(нет различий)

Версия 18:11, 9 августа 2019

 Chusov::Memory::iterator_range<Chusov::Memory::raw_pointer_iterator<const std::uint8_t*>> GetBuffer() const;

Возвращает диапазон iterator_range в виде пары итераторов с произвольным доступом над буфером памяти, над которым определен входной поток.

Возвращаемое значение:
Объект типа iterator_range, задающий буфер. Гарантируется, что для объекта rng, возвращенного методом, указателя const void* ptr, размера size_t cb и указателя на реализацию IMemBufInputByteStream IMemBufInputByteStream* pAdaptee, над которой задан текущий объект MemBufInputByteStreamRef MemBufInputByteStreamRef adapter = pAdaptee, так, что pAdaptee->GetPtr(&ptr, &cb) и rng = adapter.GetBuffer(), справледливо следующее: (ptr == &*rng.begin()) && (cb == rng.end() - rng.begin()) == true.

Вызов учитывает, но не изменяет состояние потока. Т.е. возвращается буфер байт, доступных на чтение методами потока, но состояние потока не изменяется.