libsidplayfp 3.0.0
hashlib::span< T, N > Class Template Reference

Public Types

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

Public Member Functions

HASHLIB_CXX17_CONSTEXPR span (pointer data, size_type size) noexcept
template<size_type M, detail::enable_if_t< N==dynamic_extent||M==N > * = nullptr>
HASHLIB_CXX17_CONSTEXPR span (detail::type_identity_t< T >(&array)[M]) noexcept
template<size_type M, detail::enable_if_t< N==dynamic_extent||M==N > * = nullptr>
HASHLIB_CXX17_CONSTEXPR span (std::array< value_type, M > &array) noexcept
template<size_type M, detail::enable_if_t< std::is_const< T >::value &&(N==dynamic_extent||M==N) > * = nullptr>
HASHLIB_CXX17_CONSTEXPR span (const std::array< value_type, M > &array) noexcept
template<typename U, detail::enable_if_t< std::is_const< T >::value &&std::is_same< U, detail::remove_const_t< T > >::value > * = nullptr>
HASHLIB_CXX17_CONSTEXPR span (span< U > other)
template<typename Range, detail::enable_if_t< detail::is_contiguous_range< Range >::value &&std::is_same< detail::range_value_t< Range >, value_type >::value &&!detail::is_span< detail::remove_cvref_t< Range > >::value &&!detail::is_std_array< detail::remove_cvref_t< Range > >::value &&std::is_convertible< decltype(detail::data(std::declval< Range & >())), pointer >::value, * = nullptr>
HASHLIB_CXX17_CONSTEXPR span (Range &rng)
HASHLIB_CXX17_CONSTEXPR span (const span &other) noexcept=default
span & operator= (const span &other) noexcept=default
HASHLIB_CXX17_CONSTEXPR auto first (size_type count) const noexcept -> span
HASHLIB_CXX17_CONSTEXPR auto last (size_type count) const noexcept -> span
HASHLIB_CXX17_CONSTEXPR auto subspan (size_type pos, size_type count=dynamic_extent) const noexcept -> span
HASHLIB_CXX17_CONSTEXPR auto size () const noexcept -> size_type
HASHLIB_CXX17_CONSTEXPR auto size_bytes () const noexcept -> size_type
HASHLIB_CXX17_CONSTEXPR auto empty () const noexcept -> bool
HASHLIB_CXX17_CONSTEXPR auto operator[] (size_type index) const noexcept -> T &
HASHLIB_CXX17_CONSTEXPR auto front () const noexcept -> T &
HASHLIB_CXX17_CONSTEXPR auto back () const noexcept -> T &
HASHLIB_CXX17_CONSTEXPR auto data () const noexcept -> T *
HASHLIB_CXX17_CONSTEXPR auto begin () const noexcept -> iterator
HASHLIB_CXX17_CONSTEXPR auto end () const noexcept -> iterator
HASHLIB_CXX17_CONSTEXPR auto cbegin () const noexcept -> const_iterator
HASHLIB_CXX17_CONSTEXPR auto cend () const noexcept -> const_iterator
HASHLIB_CXX17_CONSTEXPR auto rbegin () const noexcept -> reverse_iterator
HASHLIB_CXX17_CONSTEXPR auto rend () const noexcept -> reverse_iterator
HASHLIB_CXX17_CONSTEXPR auto crbegin () const noexcept -> const_reverse_iterator
HASHLIB_CXX17_CONSTEXPR auto crend () const noexcept -> const_reverse_iterator

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