ConstBufferSequence

A ConstBufferSequence represents a collection of const_buffer s or mutable_buffer s.

is_const_buffer_sequence.

Requirements

  • T denotes a type meeting the requirements of ConstBufferSequence.

  • t denotes a (possibly const) value of type T.

  • u denotes an identifier.

Expression Type Semantics, Pre/Post-conditions

T::value_type

const_buffer or mutable_buffer

This type represents a buffer in the sequence.

T::const_iterator

This type represents an iterator type that satisfies the requirements of std::bidirectional_iterator, whose value type is const_buffer or mutable_buffer.

t.begin()

T::const_iterator

Returns an iterator to the first element of the sequence.

t.end()

T::const_iterator

Returns an iterator to the element following the last element of the sequence.

T u(t);

T satisfies the requirements of std::copyconstructible and std::destructible.

Post-conditions:

assert(std::ranges::size(t) == std::ranges::size(u));

for (auto [l, r] : std::views::zip(t, u))
{
    assert(l.data() == r.data());
    assert(l.size() == r.size());
}

Models

  • const_buffer_span

  • mutable_buffer_span

  • const_buffer_pair

  • mutable_buffer_pair