Range-v3
Range algorithms, views, and actions for the Standard Library
span.hpp File Reference

Classes

struct  ranges::span< T, N >
 

Functions

template<typename T , detail::span_index_t N>
span< unsigned char const, detail::byte_size< T >(N)> ranges::as_bytes (span< T, N > s) noexcept
 
template<typename T , detail::span_index_t N>
span< unsigned char, detail::byte_size< T >(N)> ranges::as_writeable_bytes (span< T, N > s) noexcept
 
template<typename ElementType >
constexpr span< ElementType > ranges::make_span (ElementType *first, ElementType *last) noexcept
 
template<typename ElementType >
constexpr span< ElementType > ranges::make_span (ElementType *ptr, detail::span_index_t cnt) noexcept
 
template<typename Rng >
requires contiguous_range<Rng> && (range_cardinality<Rng>::value >= cardinality())
constexpr span< detail::element_t< Rng >, static_cast< detail::span_index_t >(range_cardinality< Rng >::value)> ranges::make_span (Rng &&rng) noexcept(noexcept(ranges::data(rng)))
 
template<typename Rng >
requires contiguous_range<Rng> && (range_cardinality<Rng>::value < cardinality())
constexpr span< detail::element_t< Rng > > ranges::make_span (Rng &&rng) noexcept(noexcept(ranges::data(rng), ranges::size(rng)))
 

Variables

constexpr detail::span_index_t ranges::dynamic_extent = -1
 
template<typename T , detail::span_index_t N>
constexpr bool ranges::enable_borrowed_range< span< T, N > > = true