MemBufOutputByteStreamRef::reserve
Версия от 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 байт к концу. При необходимости реализацией осуществляется перезапись и/или (пере-) выделение памяти.