pstore2
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
pstore::gsl::span< ElementType, Extent > Class Template Reference

Public Types

using element_type = ElementType
 
using index_type = std::ptrdiff_t
 
using pointer = element_type *
 
using reference = element_type &
 
using iterator = details::span_iterator< span< ElementType, Extent >, false >
 
using const_iterator = details::span_iterator< span< ElementType, Extent >, true >
 
using reverse_iterator = std::reverse_iterator< iterator >
 
using const_reverse_iterator = std::reverse_iterator< const_iterator >
 

Public Member Functions

constexpr span (std::nullptr_t const) noexcept
 
constexpr span (pointer ptr, index_type count)
 
constexpr span (pointer first, pointer last)
 
template<size_t N>
constexpr span (element_type(&arr)[N]) noexcept
 
template<size_t N, class ArrayElementType = element_type>
constexpr span (std::array< ArrayElementType, N > &arr) noexcept
 
template<size_t N, class ArrayElementType = element_type>
constexpr span (std::array< ArrayElementType, N > const &arr) noexcept
 
template<typename MemberType >
constexpr span (std::vector< MemberType > &cont)
 
template<typename MemberType >
constexpr span (std::vector< MemberType > const &cont)
 
template<typename ArrayElementType = std::add_pointer<element_type>>
constexpr span (std::unique_ptr< ArrayElementType > const &ptr, index_type count)
 
constexpr span (std::unique_ptr< element_type > const &ptr)
 
constexpr span (std::shared_ptr< element_type > const &ptr)
 
template<typename OtherElementType , std::ptrdiff_t OtherExtent>
constexpr span (span< OtherElementType, OtherExtent > const &other)
 
constexpr span (span const &other) noexcept=default
 
constexpr span (span &&other) noexcept=default
 
spanoperator= (span const &other) noexcept=default
 
spanoperator= (span &&other) noexcept=default
 
template<std::ptrdiff_t Count>
span< element_type, Count > first () const
 
span< element_type, dynamic_extent > first (index_type count) const
 
template<std::ptrdiff_t Count>
span< element_type, Count > last () const
 
span< element_type, dynamic_extent > last (index_type count) const
 
template<std::ptrdiff_t Offset, std::ptrdiff_t Count = dynamic_extent>
span< element_type, Count > subspan () const
 
span< element_type, dynamic_extent > subspan (index_type const offset, index_type const count=dynamic_extent) const noexcept
 
constexpr index_type length () const noexcept
 
constexpr index_type size () const noexcept
 
constexpr index_type length_bytes () const noexcept
 
constexpr index_type size_bytes () const noexcept
 
constexpr bool empty () const noexcept
 
reference operator[] (index_type const idx) const
 
constexpr reference at (index_type const idx) const
 
constexpr reference operator() (index_type const idx) const
 
constexpr pointer data () const noexcept
 
iterator begin () const noexcept
 
iterator end () const noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 
reverse_iterator rbegin () const noexcept
 
reverse_iterator rend () const noexcept
 
const_reverse_iterator crbegin () const noexcept
 
const_reverse_iterator crend () const noexcept
 

Static Public Attributes

static constexpr index_type const extent = Extent
 

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