MemBufOutputByteStreamRef::reserve

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