Boost C++ 库

“...世界上最受推崇且设计最精湛的 C++ 库项目之一。” Herb SutterAndrei Alexandrescu, C++ 编码标准

PrevUpHomeNext

buffer(42 个重载中的第 32 个)

从连续容器创建一个新的不可修改的缓冲区。

template<
    typename T>
const_buffer buffer(
    T & data,
    std::size_t max_size_in_bytes,
    constraint_t< is_contiguous_iterator< typename T::iterator >::value, defaulted_constraint >  = defaulted_constraint(),
    constraint_t< !is_convertible< T, const_buffer >::value, defaulted_constraint >  = defaulted_constraint(),
    constraint_t< !is_convertible< T, mutable_buffer >::value, defaulted_constraint >  = defaulted_constraint(),
    constraint_t< is_const< remove_reference_t< typename std::iterator_traits< typename T::iterator >::reference > >::value, defaulted_constraint >  = defaulted_constraint());
返回值

一个等价于以下内容的 const_buffer

const_buffer(
   data.size() ? &data[0] : 0,
   min(
     data.size() * sizeof(typename T::value_type),
     max_size_in_bytes));

PrevUpHomeNext