CsCrypto  1.0.1
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 = cs_crypto::util::span::element_type &
 
using const_reference = const cs_crypto::util::span::element_type &
 
using pointer = cs_crypto::util::span::element_type *
 
using const_pointer = const cs_crypto::util::span::element_type *
 
using iterator = cs_crypto::util::span::pointer
 
using const_iterator = cs_crypto::util::span::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, cs_crypto::util::span::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 cs_crypto::util::span::const_iterator begin () const noexcept
 
constexpr cs_crypto::util::span::const_iterator end () const noexcept
 
constexpr cs_crypto::util::span::const_pointer data () const noexcept
 
constexpr cs_crypto::util::span::size_type size () const noexcept
 
constexpr bool empty () const noexcept
 

Private Attributes

cs_crypto::util::span::const_pointer m_data
 
const cs_crypto::util::span::size_type m_size
 

Detailed Description

Definition at line 33 of file span.h.