template<typename CharT>
base_buffer class
base type for mutable_buffer and const_buffer
Template parameters | |
---|---|
CharT | type of chars, if const qualified, then the buffer is immutable and the data should not get modified. Ill-formed if sizeof(CharT) != 1 |
Contents
base_buffer is a buffer of specified type of chars. It is inherited from gsl::span and could be constructed from it, too. As defined in N4771, buffer types are very similar to spans, so only a few extra functions are added here. Most common functions, such as begin() or operator[], were implemented and documented by gsl::span.
Notice that the base_buffer represents an unowning view of the underlying type, and marks it for usage of buffered io operations like ark::sync::read and ark::sync:write. It's the user's responsibility to keep the underlying memory available before any io operation completes.
Constructors, destructors, conversion operators
- base_buffer(span<CharT> sp)
- construct from a gsl::span
- base_buffer(void* p, size_t n)
- construct from pointers with size
- base_buffer(const void* p, size_t n)
- construct from const pointers with size
Public functions
-
auto operator+=(size_t offset) -> base_
buffer<CharT>& noexcept - ascending the buffer
Function documentation
template<typename CharT>
ark:: base_buffer<CharT>:: base_buffer(const void* p,
size_t n)
construct from const pointers with size
internally uses static_cast, so won't work with non-const CharT