Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext

buffer (36 of 42 overloads)

Create a new non-modifiable buffer from a contiguous container.

template<
    typename T>
const_buffer buffer(
    T & data,
    std::size_t max_size_in_bytes,
    typename constraint< is_contiguous_iterator< typename T::iterator >::value, defaulted_constraint >::type  = defaulted_constraint(),
    typename constraint< !is_convertible< T, const_buffer >::value, defaulted_constraint >::type  = defaulted_constraint(),
    typename constraint< !is_convertible< T, mutable_buffer >::value, defaulted_constraint >::type  = defaulted_constraint(),
    typename constraint< is_const< typename remove_reference< typename std::iterator_traits< typename T::iterator >::reference >::type >::value, defaulted_constraint >::type  = defaulted_constraint());
Return Value

A const_buffer value equivalent to:

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

PrevUpHomeNext