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

make_span

Overview
Reference

Authors

  • Glen Fernandes

The header <boost/core/make_span.hpp> provides function templates make_span to conveniently create span objects. They are useful before C++17 where Class Template Argument Deduction (CTAD) is not available.

namespace boost {

template<class I>
constexpr span<I>
make_span(I* d, std::size_t n) noexcept;

template<class I>
constexpr span<I>
make_span(I* b, I* e) noexcept;

template<class T, std::size_t N>
constexpr span<T, N>
make_span(T(&a)[N]) noexcept;

template<class T, std::size_t N>
constexpr span<T, N>
make_span(std::array<T, N>& a) noexcept;

template<class T, std::size_t N>
constexpr span<const T, N>
make_span(const std::array<T, N>& a) noexcept;

template<class R>
span<remove_pointer_t<iterator_t<R> > >
make_span(R&& r);

} /* boost */

template<class I> span<I> make_span(I* f, std::size_t c);

Returns span<I>(f, c).

template<class I> span<I> make_span(I* f, I* l);

Returns span<I>(f, l).

template<class T, std::size_t N> span<T, N> make_span(T(&a)[N]);

Returns span<T, N>(a).

template<class T, std::size_t N> span<T, N> make_span(std::array<T, N>& a);

Returns span<T, N>(a).

template<class T, std::size_t N> span<const T, N> make_span(const std::array<T, N>& a);

Returns span<const T, N>(a).

template<class R> span<remove_pointer_t<iterator_t<R> > > make_span(R&& r);

Returns span<remove_pointer_t<iterator_t<R> > >(std::forward<R>(r)).


PrevUpHomeNext