Boost C++ 库

...世界上最受推崇、设计最精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu,《C++ 编码规范

buffer (36 of 42 重载) - Boost C++ 函数库
PrevUpHomeNext

从 span 创建新的可修改 buffer。

template<
    template< typename, std::size_t > class Span,
    typename T,
    std::size_t Extent>
mutable_buffer buffer(
    const Span< T, Extent > & span,
    std::size_t max_size_in_bytes,
    constraint_t< !is_const< T >::value, defaulted_constraint >  = defaulted_constraint(),
    constraint_t< sizeof(T)==1, defaulted_constraint >  = defaulted_constraint(),
    constraint_t< is_same< decltype(span.subspan(0, 0)), Span< T, static_cast< std::size_t >(-1)> >::value, defaulted_constraint >  = defaulted_constraint());
返回值

一个等价于 mutable_buffer 的值

mutable_buffer b(span);
mutable_buffer(
    b.data(),
    min(b.size(), max_size_in_bytes));

PrevUpHomeNext