MemBufInputByteStreamRef::get buffer: различия между версиями
Перейти к навигации
Перейти к поиску
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
{{function_begin | Chusov::Memory::iterator_range<Chusov::Memory::raw_pointer_iterator<const std::uint8_t*>> | {{DISPLAYTITLE:MemBufInputByteStreamRef::get_buffer}} | ||
{{function_return_value|Объект типа [https://www.chusov.org/doxygen/struct_chusov_1_1_memory_1_1iterator__range.html iterator_range], задающий буфер. Гарантируется, что для объекта <tt>rng</tt>, возвращенного методом, указателя <source lang='cpp' inline>const void* ptr</source>, размера <source lang='cpp' inline>size_t cb</source> и указателя на реализацию | {{function_begin|Chusov::Memory::iterator_range<Chusov::Memory::raw_pointer_iterator<const std::uint8_t*>> get_buffer() const; |{{MemBufInputByteStreamRef::get_buffer brief}}}} | ||
{{function_return_value|Объект типа [https://www.chusov.org/doxygen/struct_chusov_1_1_memory_1_1iterator__range.html iterator_range], задающий буфер. Гарантируется, что для объекта <tt>rng</tt>, возвращенного методом, указателя <source lang='cpp' inline>const void* ptr</source>, размера <source lang='cpp' inline>size_t cb</source> и указателя на реализацию <source lang='cpp' inline>IMemBufInputByteStream* pAdaptee</source>, над которой задан текущий объект <source lang='cpp' inline>MemBufInputByteStreamRef adapter = pAdaptee</source>, так, что <source lang='cpp' inline>pAdaptee->GetPtr(&ptr, &cb)</source> и <source lang='cpp' inline>rng = adapter.GetBuffer()</source>, справледливо следующее: <source lang='cpp' inline>(ptr == &*rng.begin()) && (cb == rng.end() - rng.begin()) == true</source>.}} | |||
{{function_end}} | {{function_end}} | ||
Вызов учитывает, но не изменяет состояние потока. То есть возвращается буфер байт, доступных на чтение методами потока, но состояние потока не изменяется. |
Текущая версия на 18:16, 9 августа 2019
Chusov::Memory::iterator_range<Chusov::Memory::raw_pointer_iterator<const std::uint8_t*>> get_buffer() const;
Возвращает диапазон iterator_range в виде пары итераторов с произвольным доступом над буфером памяти, над которым определен входной поток.
- Возвращаемое значение:
- Объект типа iterator_range, задающий буфер. Гарантируется, что для объекта rng, возвращенного методом, указателя
const void* ptr
, размераsize_t cb
и указателя на реализациюIMemBufInputByteStream* pAdaptee
, над которой задан текущий объектMemBufInputByteStreamRef adapter = pAdaptee
, так, чтоpAdaptee->GetPtr(&ptr, &cb)
иrng = adapter.GetBuffer()
, справледливо следующее:(ptr == &*rng.begin()) && (cb == rng.end() - rng.begin()) == true
.
Вызов учитывает, но не изменяет состояние потока. То есть возвращается буфер байт, доступных на чтение методами потока, но состояние потока не изменяется.