Range-v3 Range algorithms, views, and actions for the Standard Library |

Classes | Functions | Variables
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 >
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 >
constexpr span< detail::element_t< Rng > > | ranges::make_span (Rng &&rng) noexcept(noexcept(ranges::data(rng), ranges::size(rng)))
template<typename Rng >
| ranges::span (Rng &&rng) -> span< detail::element_t< Rng >,(range_cardinality< Rng >::value< cardinality() ? dynamic_extent :static_cast< detail::span_index_t >(range_cardinality< Rng >::value))>

## 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

## Function Documentation

## ◆ make_span()

template<typename Rng >

constexpr span< detail::element_t<Rng>, static_cast<detail::span_index_t> range_cardinality<Rng>:: value)> ranges::make_span | ( | Rng && | rng | ) |
| constexpr noexcept

Precondition
  requires `contiguous_range<Rng> && (range_cardinality<Rng>::value >= cardinality())` //