CsCrypto  1.0.2
util::span Class Reference

Public Typedefs

using element_type = T
 
using value_type = std::remove_cv_t< T >
 
using size_type = std::size_t
 
using difference_type = std::ptrdiff_t
 
using reference = element_type &
 
using const_reference = const element_type &
 
using pointer = element_type *
 
using const_pointer = const element_type *
 
using iterator = pointer
 
using const_iterator = const_pointer
 

Public Member Functions

template<typename Iter, typename = std::enable_if_t<std::is_same_v<typename std::iterator_traits<Iter>::iterator_category, std::random_access_iterator_tag>>>
constexpr span (Iter iter, size_type size) noexcept
 
explicit constexpr span (const cs_crypto::traits::identity_t< element_type >(&arr)[N]) noexcept
 
explicit constexpr span (std::array< T, N > &arr) noexcept
 
explicit constexpr span (const std::array< T, N > &arr) noexcept
 
constexpr span (const span< T > &) = default
 
constexpr span< T > & operator= (const span< T > &)=default &
 
constexpr span (span< T > &&) = default
 
constexpr span< T > & operator= (span< T > &&)=default &
 
constexpr const_iterator begin () const noexcept
 
constexpr const_iterator end () const noexcept
 
constexpr const_pointer data () const noexcept
 
constexpr size_type size () const noexcept
 
constexpr bool empty () const noexcept
 

Private Attributes

const_pointer m_data
 
const size_type m_size
 

Detailed Description

Definition at line 33 of file span.h.