MemBufOutputByteStreamRef::reserve

Материал из CAMaaS preliminary wiki
Версия от 20:21, 9 августа 2019; Андрей Чусов (обсуждение | вклад) (Новая страница: «{{function_begin|Chusov::Memory::iterator_range<Chusov::Memory::raw_pointer_iterator<std::uint8_t*>> reserve(size_t cbBuffer); |{{MemBufOutputByteStreamRef::reser…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску
Chusov::Memory::iterator_range<Chusov::Memory::raw_pointer_iterator<std::uint8_t*>> reserve(size_t cbBuffer);

Резервирует пространство в буфере, над которым определен поток MemBufOutputByteStreamRef, для записи в него вызывающим напрямую.

Параметры
cbBufferЧисло байт, которые необходимо зарезервировать в буфере потока this.
Возвращаемое значение:
Объект типа iterator_range, задающий зарезервированный буфер, так, что если rng возвращенный объект, то &*rng.begin() задает адрес зарезервированного подпространства, а &*rng.end() - его конец.

В результате вызова указатель текущего потока, задающий позицию в его буфере, смещается на cbBuffer байт к концу. При необходимости реализацией осуществляется перезапись и/или (пере-) выделение памяти.