|
template<std::size_t N = E, typename std::enable_if< N==dynamic_extent||N==0, int >::type = 0> |
constexpr | span () noexcept |
|
template<class I , typename std::enable_if< E==dynamic_extent &&detail::span_convertible< I, T >::value, int >::type = 0> |
constexpr | span (I *f, size_type c) |
|
template<class I , typename std::enable_if< E !=dynamic_extent &&detail::span_convertible< I, T >::value, int >::type = 0> |
constexpr | span (I *f, size_type c) |
|
template<class I , class L , typename std::enable_if< E==dynamic_extent &&detail::span_convertible< I, T >::value, int >::type = 0> |
constexpr | span (I *f, L *l) |
|
template<class I , class L , typename std::enable_if< E !=dynamic_extent &&detail::span_convertible< I, T >::value, int >::type = 0> |
constexpr | span (I *f, L *l) |
|
template<std::size_t N, typename std::enable_if< detail::span_capacity< E, N >::value, int >::type = 0> |
constexpr | span (typename std::enable_if< true, T >::type(&a)[N]) noexcept |
|
template<class U , std::size_t N, typename std::enable_if< detail::span_compatible< T, E, U, N >::value, int >::type = 0> |
constexpr | span (std::array< U, N > &a) noexcept |
|
template<class U , std::size_t N, typename std::enable_if< detail::span_compatible< T, E, const U, N >::value, int >::type = 0> |
constexpr | span (const std::array< U, N > &a) noexcept |
|
template<class R , typename std::enable_if< E==dynamic_extent &&detail::span_is_range< R, T >::value, int >::type = 0> |
constexpr | span (R &&r) noexcept(noexcept(boost::data(r)) &&noexcept(r.size())) |
|
template<class R , typename std::enable_if< E !=dynamic_extent &&detail::span_is_range< R, T >::value, int >::type = 0> |
constexpr | span (R &&r) noexcept(noexcept(boost::data(r)) &&noexcept(r.size())) |
|
template<class U , std::size_t N, typename std::enable_if< detail::span_implicit< E, N >::value &&detail::span_copyable< T, E, U, N >::value, int >::type = 0> |
constexpr | span (const span< U, N > &s) noexcept |
|
template<class U , std::size_t N, typename std::enable_if<!detail::span_implicit< E, N >::value &&detail::span_copyable< T, E, U, N >::value, int >::type = 0> |
constexpr | span (const span< U, N > &s) noexcept |
|
template<std::size_t C> |
constexpr span< T, C > | first () const |
|
template<std::size_t C> |
constexpr span< T, C > | last () const |
|
template<std::size_t O, std::size_t C = dynamic_extent> |
constexpr std::enable_if< C==dynamic_extent, span< T, detail::span_sub< E, O >::value > >::type | subspan () const |
|
template<std::size_t O, std::size_t C = dynamic_extent> |
constexpr std::enable_if< C!=dynamic_extent, span< T, C > >::type | subspan () const |
|
constexpr span< T, dynamic_extent > | first (size_type c) const |
|
constexpr span< T, dynamic_extent > | last (size_type c) const |
|
constexpr span< T, dynamic_extent > | subspan (size_type o, size_type c=dynamic_extent) const |
|
constexpr size_type | size () const noexcept |
|
constexpr size_type | size_bytes () const noexcept |
|
constexpr bool | empty () const noexcept |
|
constexpr reference | operator[] (size_type i) const |
|
constexpr reference | front () const |
|
constexpr reference | back () const |
|
constexpr pointer | data () const noexcept |
|
constexpr iterator | begin () const noexcept |
|
constexpr iterator | end () const noexcept |
|
constexpr reverse_iterator | rbegin () const noexcept |
|
constexpr reverse_iterator | rend () const noexcept |
|
constexpr const_iterator | cbegin () const noexcept |
|
constexpr const_iterator | cend () const noexcept |
|
constexpr const_reverse_iterator | crbegin () const noexcept |
|
constexpr const_reverse_iterator | crend () const noexcept |
|
template<class T, std::size_t E>
class boost::span< T, E >
Definition at line 159 of file span.hpp.