CAF  0.17.2
Public Types | Public Member Functions | List of all members
caf::span< T > Class Template Reference

A C++11/14 drop-in replacement for C++20's std::span without support for static extents. More...

#include <span.hpp>

Public Types

using element_type = T
 
using value_type = typename std::remove_cv< T >::type
 
using index_type = size_t
 
using difference_type = ptrdiff_t
 
using pointer = T *
 
using const_pointer = const T *
 
using reference = T &
 
using const_reference = T &
 
using iterator = pointer
 
using const_iterator = const_pointer
 
using reverse_iterator = std::reverse_iterator< iterator >
 
using const_reverse_iterator = std::reverse_iterator< const_iterator >
 

Public Member Functions

constexpr span (pointer ptr, size_t size)
 
constexpr span (pointer first, pointer last)
 
template<size_t Size>
constexpr span (element_type(&arr)[Size]) noexcept
 
template<class C , class E = detail::enable_if_t<detail::has_data_member<C>::value>>
 span (C &xs) noexcept
 
template<class C , class E = detail::enable_if_t<detail::has_data_member<C>::value>>
 span (const C &xs) noexcept
 
constexpr span (const span &) noexcept=default
 
spanoperator= (const span &) noexcept=default
 
constexpr iterator begin () const noexcept
 
constexpr const_iterator cbegin () const noexcept
 
constexpr iterator end () const noexcept
 
constexpr const_iterator cend () const noexcept
 
constexpr reverse_iterator rbegin () const noexcept
 
constexpr const_reverse_iterator crbegin () const noexcept
 
constexpr reverse_iterator rend () const noexcept
 
constexpr const_reverse_iterator crend () const noexcept
 
constexpr reference operator[] (size_t index) const noexcept
 
constexpr reference front () const noexcept
 
constexpr reference back () const noexcept
 
constexpr size_t size () const noexcept
 
constexpr size_t size_bytes () const noexcept
 
constexpr bool empty () const noexcept
 
constexpr pointer data () const noexcept
 
constexpr span subspan (size_t offset, size_t num_bytes) const
 
constexpr span first (size_t num_bytes) const
 
constexpr span last (size_t num_bytes) const
 

Detailed Description

template<class T>
class caf::span< T >

A C++11/14 drop-in replacement for C++20's std::span without support for static extents.


The documentation for this class was generated from the following files: