Public Types | Public Member Functions | Static Public Attributes | Private Types | Private Attributes | Friends | List of all members
absl::Span< T > Class Template Reference

#include <span.h>

Public Types

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

Public Member Functions

constexpr reference at (size_type i) const
 
constexpr reference at (size_type i) const
 
constexpr reference back () const noexcept
 
constexpr reference back () const noexcept
 
constexpr iterator begin () const noexcept
 
constexpr iterator begin () const noexcept
 
constexpr const_iterator cbegin () const noexcept
 
constexpr const_iterator cbegin () const noexcept
 
constexpr const_iterator cend () const noexcept
 
constexpr const_iterator cend () const noexcept
 
constexpr const_reverse_iterator crbegin () const noexcept
 
constexpr const_reverse_iterator crbegin () const noexcept
 
constexpr const_reverse_iterator crend () const noexcept
 
constexpr const_reverse_iterator crend () const noexcept
 
constexpr pointer data () const noexcept
 
constexpr pointer data () const noexcept
 
constexpr bool empty () const noexcept
 
constexpr bool empty () const noexcept
 
constexpr iterator end () const noexcept
 
constexpr iterator end () const noexcept
 
constexpr Span first (size_type len) const
 
constexpr Span first (size_type len) const
 
constexpr reference front () const noexcept
 
constexpr reference front () const noexcept
 
constexpr Span last (size_type len) const
 
constexpr Span last (size_type len) const
 
constexpr size_type length () const noexcept
 
constexpr size_type length () const noexcept
 
constexpr reference operator[] (size_type i) const noexcept
 
constexpr reference operator[] (size_type i) const noexcept
 
constexpr reverse_iterator rbegin () const noexcept
 
constexpr reverse_iterator rbegin () const noexcept
 
void remove_prefix (size_type n) noexcept
 
void remove_prefix (size_type n) noexcept
 
void remove_suffix (size_type n) noexcept
 
void remove_suffix (size_type n) noexcept
 
constexpr reverse_iterator rend () const noexcept
 
constexpr reverse_iterator rend () const noexcept
 
constexpr size_type size () const noexcept
 
constexpr size_type size () const noexcept
 
constexpr Span () noexcept
 
constexpr Span () noexcept
 
template<typename V , typename = EnableIfConvertibleFrom<V>, typename = EnableIfConstView<V>>
constexpr Span (const V &v) noexcept
 
template<typename V , typename = EnableIfConvertibleFrom<V>, typename = EnableIfConstView<V>>
constexpr Span (const V &v) noexcept
 
constexpr Span (pointer array, size_type length) noexcept
 
constexpr Span (pointer array, size_type length) noexcept
 
template<typename LazyT = T, typename = EnableIfConstView<LazyT>>
 Span (std::initializer_list< value_type > v ABSL_ATTRIBUTE_LIFETIME_BOUND) noexcept
 
template<typename LazyT = T, typename = EnableIfConstView<LazyT>>
 Span (std::initializer_list< value_type > v ABSL_ATTRIBUTE_LIFETIME_BOUND) noexcept
 
template<size_t N>
constexpr Span (T(&a)[N]) noexcept
 
template<size_t N>
constexpr Span (T(&a)[N]) noexcept
 
template<typename V , typename = EnableIfConvertibleFrom<V>, typename = EnableIfMutableView<V>>
 Span (V &v) noexcept
 
template<typename V , typename = EnableIfConvertibleFrom<V>, typename = EnableIfMutableView<V>>
 Span (V &v) noexcept
 
constexpr Span subspan (size_type pos=0, size_type len=npos) const
 
constexpr Span subspan (size_type pos=0, size_type len=npos) const
 

Static Public Attributes

static const size_type npos = ~(size_type(0))
 

Private Types

template<typename U >
using EnableIfConstView = typename std::enable_if< std::is_const< T >::value, U >::type
 
template<typename U >
using EnableIfConstView = typename std::enable_if< std::is_const< T >::value, U >::type
 
template<typename C >
using EnableIfConvertibleFrom = typename std::enable_if< span_internal::HasData< T, C >::value &&span_internal::HasSize< C >::value >::type
 
template<typename C >
using EnableIfConvertibleFrom = typename std::enable_if< span_internal::HasData< T, C >::value &&span_internal::HasSize< C >::value >::type
 
template<typename U >
using EnableIfMutableView = typename std::enable_if<!std::is_const< T >::value, U >::type
 
template<typename U >
using EnableIfMutableView = typename std::enable_if<!std::is_const< T >::value, U >::type
 

Private Attributes

size_type len_
 
pointer ptr_
 

Friends

template<typename H >
H AbslHashValue (H h, Span v)
 
template<typename H >
H AbslHashValue (H h, Span v)
 

Detailed Description

template<typename T>
class absl::Span< T >

Definition at line 152 of file abseil-cpp/absl/types/span.h.

Member Typedef Documentation

◆ const_iterator [1/2]

template<typename T >
using absl::Span< T >::const_iterator = const_pointer

Definition at line 179 of file abseil-cpp/absl/types/span.h.

◆ const_iterator [2/2]

template<typename T >
using absl::Span< T >::const_iterator = const_pointer

◆ const_pointer [1/2]

template<typename T >
using absl::Span< T >::const_pointer = const T*

Definition at line 175 of file abseil-cpp/absl/types/span.h.

◆ const_pointer [2/2]

template<typename T >
using absl::Span< T >::const_pointer = const T*

◆ const_reference [1/2]

template<typename T >
using absl::Span< T >::const_reference = const T&

Definition at line 177 of file abseil-cpp/absl/types/span.h.

◆ const_reference [2/2]

template<typename T >
using absl::Span< T >::const_reference = const T&

◆ const_reverse_iterator [1/2]

template<typename T >
using absl::Span< T >::const_reverse_iterator = std::reverse_iterator<const_iterator>

Definition at line 181 of file abseil-cpp/absl/types/span.h.

◆ const_reverse_iterator [2/2]

template<typename T >
using absl::Span< T >::const_reverse_iterator = std::reverse_iterator<const_iterator>

◆ difference_type [1/2]

template<typename T >
using absl::Span< T >::difference_type = ptrdiff_t

Definition at line 183 of file abseil-cpp/absl/types/span.h.

◆ difference_type [2/2]

template<typename T >
using absl::Span< T >::difference_type = ptrdiff_t

◆ element_type

template<typename T >
using absl::Span< T >::element_type = T

Definition at line 172 of file abseil-cpp/absl/types/span.h.

◆ EnableIfConstView [1/2]

template<typename T >
template<typename U >
using absl::Span< T >::EnableIfConstView = typename std::enable_if<std::is_const<T>::value, U>::type
private

Definition at line 164 of file abseil-cpp/absl/types/span.h.

◆ EnableIfConstView [2/2]

template<typename T >
template<typename U >
using absl::Span< T >::EnableIfConstView = typename std::enable_if<std::is_const<T>::value, U>::type
private

◆ EnableIfConvertibleFrom [1/2]

template<typename T >
template<typename C >
using absl::Span< T >::EnableIfConvertibleFrom = typename std::enable_if<span_internal::HasData<T, C>::value && span_internal::HasSize<C>::value>::type
private

Definition at line 159 of file abseil-cpp/absl/types/span.h.

◆ EnableIfConvertibleFrom [2/2]

template<typename T >
template<typename C >
using absl::Span< T >::EnableIfConvertibleFrom = typename std::enable_if<span_internal::HasData<T, C>::value && span_internal::HasSize<C>::value>::type
private

◆ EnableIfMutableView [1/2]

template<typename T >
template<typename U >
using absl::Span< T >::EnableIfMutableView = typename std::enable_if<!std::is_const<T>::value, U>::type
private

Definition at line 169 of file abseil-cpp/absl/types/span.h.

◆ EnableIfMutableView [2/2]

template<typename T >
template<typename U >
using absl::Span< T >::EnableIfMutableView = typename std::enable_if<!std::is_const<T>::value, U>::type
private

◆ iterator [1/2]

template<typename T >
using absl::Span< T >::iterator = pointer

◆ iterator [2/2]

template<typename T >
using absl::Span< T >::iterator = pointer

Definition at line 178 of file abseil-cpp/absl/types/span.h.

◆ pointer [1/2]

template<typename T >
using absl::Span< T >::pointer = T*

◆ pointer [2/2]

template<typename T >
using absl::Span< T >::pointer = T*

Definition at line 174 of file abseil-cpp/absl/types/span.h.

◆ reference [1/2]

template<typename T >
using absl::Span< T >::reference = T&

Definition at line 176 of file abseil-cpp/absl/types/span.h.

◆ reference [2/2]

template<typename T >
using absl::Span< T >::reference = T&

◆ reverse_iterator [1/2]

template<typename T >
using absl::Span< T >::reverse_iterator = std::reverse_iterator<iterator>

◆ reverse_iterator [2/2]

template<typename T >
using absl::Span< T >::reverse_iterator = std::reverse_iterator<iterator>

Definition at line 180 of file abseil-cpp/absl/types/span.h.

◆ size_type [1/2]

template<typename T >
using absl::Span< T >::size_type = size_t

Definition at line 182 of file abseil-cpp/absl/types/span.h.

◆ size_type [2/2]

template<typename T >
using absl::Span< T >::size_type = size_t

◆ value_type [1/2]

template<typename T >
using absl::Span< T >::value_type = absl::remove_cv_t<T>

Definition at line 173 of file abseil-cpp/absl/types/span.h.

◆ value_type [2/2]

template<typename T >
using absl::Span< T >::value_type = absl::remove_cv_t<T>

Constructor & Destructor Documentation

◆ Span() [1/12]

template<typename T >
constexpr absl::Span< T >::Span ( )
inlineconstexprnoexcept

Definition at line 187 of file abseil-cpp/absl/types/span.h.

◆ Span() [2/12]

template<typename T >
constexpr absl::Span< T >::Span ( pointer  array,
size_type  length 
)
inlineconstexprnoexcept

Definition at line 188 of file abseil-cpp/absl/types/span.h.

◆ Span() [3/12]

template<typename T >
template<size_t N>
constexpr absl::Span< T >::Span ( T(&)  a[N])
inlineconstexprnoexcept

Definition at line 193 of file abseil-cpp/absl/types/span.h.

◆ Span() [4/12]

template<typename T >
template<typename V , typename = EnableIfConvertibleFrom<V>, typename = EnableIfMutableView<V>>
absl::Span< T >::Span ( V &  v)
inlineexplicitnoexcept

Definition at line 200 of file abseil-cpp/absl/types/span.h.

◆ Span() [5/12]

template<typename T >
template<typename V , typename = EnableIfConvertibleFrom<V>, typename = EnableIfConstView<V>>
constexpr absl::Span< T >::Span ( const V &  v)
inlineconstexprnoexcept

Definition at line 206 of file abseil-cpp/absl/types/span.h.

◆ Span() [6/12]

template<typename T >
template<typename LazyT = T, typename = EnableIfConstView<LazyT>>
absl::Span< T >::Span ( std::initializer_list< value_type > v  ABSL_ATTRIBUTE_LIFETIME_BOUND)
inlinenoexcept

Definition at line 246 of file abseil-cpp/absl/types/span.h.

◆ Span() [7/12]

template<typename T >
constexpr absl::Span< T >::Span ( )
inlineconstexprnoexcept

◆ Span() [8/12]

template<typename T >
constexpr absl::Span< T >::Span ( pointer  array,
size_type  length 
)
inlineconstexprnoexcept

◆ Span() [9/12]

template<typename T >
template<size_t N>
constexpr absl::Span< T >::Span ( T(&)  a[N])
inlineconstexprnoexcept

◆ Span() [10/12]

template<typename T >
template<typename V , typename = EnableIfConvertibleFrom<V>, typename = EnableIfMutableView<V>>
absl::Span< T >::Span ( V &  v)
inlineexplicitnoexcept

◆ Span() [11/12]

template<typename T >
template<typename V , typename = EnableIfConvertibleFrom<V>, typename = EnableIfConstView<V>>
constexpr absl::Span< T >::Span ( const V &  v)
inlineconstexprnoexcept

◆ Span() [12/12]

template<typename T >
template<typename LazyT = T, typename = EnableIfConstView<LazyT>>
absl::Span< T >::Span ( std::initializer_list< value_type > v  ABSL_ATTRIBUTE_LIFETIME_BOUND)
inlinenoexcept

Member Function Documentation

◆ at() [1/2]

template<typename T >
constexpr reference absl::Span< T >::at ( size_type  i) const
inlineconstexpr

Definition at line 284 of file abseil-cpp/absl/types/span.h.

◆ at() [2/2]

template<typename T >
constexpr reference absl::Span< T >::at ( size_type  i) const
inlineconstexpr

◆ back() [1/2]

template<typename T >
constexpr reference absl::Span< T >::back ( ) const
inlineconstexprnoexcept

Definition at line 304 of file abseil-cpp/absl/types/span.h.

◆ back() [2/2]

template<typename T >
constexpr reference absl::Span< T >::back ( ) const
inlineconstexprnoexcept

◆ begin() [1/2]

template<typename T >
constexpr iterator absl::Span< T >::begin ( ) const
inlineconstexprnoexcept

Definition at line 312 of file abseil-cpp/absl/types/span.h.

◆ begin() [2/2]

template<typename T >
constexpr iterator absl::Span< T >::begin ( ) const
inlineconstexprnoexcept

◆ cbegin() [1/2]

template<typename T >
constexpr const_iterator absl::Span< T >::cbegin ( ) const
inlineconstexprnoexcept

Definition at line 318 of file abseil-cpp/absl/types/span.h.

◆ cbegin() [2/2]

template<typename T >
constexpr const_iterator absl::Span< T >::cbegin ( ) const
inlineconstexprnoexcept

◆ cend() [1/2]

template<typename T >
constexpr const_iterator absl::Span< T >::cend ( ) const
inlineconstexprnoexcept

◆ cend() [2/2]

template<typename T >
constexpr const_iterator absl::Span< T >::cend ( ) const
inlineconstexprnoexcept

Definition at line 332 of file abseil-cpp/absl/types/span.h.

◆ crbegin() [1/2]

template<typename T >
constexpr const_reverse_iterator absl::Span< T >::crbegin ( ) const
inlineconstexprnoexcept

◆ crbegin() [2/2]

template<typename T >
constexpr const_reverse_iterator absl::Span< T >::crbegin ( ) const
inlineconstexprnoexcept

Definition at line 346 of file abseil-cpp/absl/types/span.h.

◆ crend() [1/2]

template<typename T >
constexpr const_reverse_iterator absl::Span< T >::crend ( ) const
inlineconstexprnoexcept

Definition at line 362 of file abseil-cpp/absl/types/span.h.

◆ crend() [2/2]

template<typename T >
constexpr const_reverse_iterator absl::Span< T >::crend ( ) const
inlineconstexprnoexcept

◆ data() [1/2]

template<typename T >
constexpr pointer absl::Span< T >::data ( ) const
inlineconstexprnoexcept

◆ data() [2/2]

template<typename T >
constexpr pointer absl::Span< T >::data ( ) const
inlineconstexprnoexcept

Definition at line 256 of file abseil-cpp/absl/types/span.h.

◆ empty() [1/2]

template<typename T >
constexpr bool absl::Span< T >::empty ( ) const
inlineconstexprnoexcept

Definition at line 271 of file abseil-cpp/absl/types/span.h.

◆ empty() [2/2]

template<typename T >
constexpr bool absl::Span< T >::empty ( ) const
inlineconstexprnoexcept

◆ end() [1/2]

template<typename T >
constexpr iterator absl::Span< T >::end ( ) const
inlineconstexprnoexcept

◆ end() [2/2]

template<typename T >
constexpr iterator absl::Span< T >::end ( ) const
inlineconstexprnoexcept

Definition at line 325 of file abseil-cpp/absl/types/span.h.

◆ first() [1/2]

template<typename T >
constexpr Span absl::Span< T >::first ( size_type  len) const
inlineconstexpr

Definition at line 416 of file abseil-cpp/absl/types/span.h.

◆ first() [2/2]

template<typename T >
constexpr Span absl::Span< T >::first ( size_type  len) const
inlineconstexpr

◆ front() [1/2]

template<typename T >
constexpr reference absl::Span< T >::front ( ) const
inlineconstexprnoexcept

◆ front() [2/2]

template<typename T >
constexpr reference absl::Span< T >::front ( ) const
inlineconstexprnoexcept

Definition at line 296 of file abseil-cpp/absl/types/span.h.

◆ last() [1/2]

template<typename T >
constexpr Span absl::Span< T >::last ( size_type  len) const
inlineconstexpr

Definition at line 433 of file abseil-cpp/absl/types/span.h.

◆ last() [2/2]

template<typename T >
constexpr Span absl::Span< T >::last ( size_type  len) const
inlineconstexpr

◆ length() [1/2]

template<typename T >
constexpr size_type absl::Span< T >::length ( ) const
inlineconstexprnoexcept

◆ length() [2/2]

template<typename T >
constexpr size_type absl::Span< T >::length ( ) const
inlineconstexprnoexcept

Definition at line 266 of file abseil-cpp/absl/types/span.h.

◆ operator[]() [1/2]

template<typename T >
constexpr reference absl::Span< T >::operator[] ( size_type  i) const
inlineconstexprnoexcept

Definition at line 276 of file abseil-cpp/absl/types/span.h.

◆ operator[]() [2/2]

template<typename T >
constexpr reference absl::Span< T >::operator[] ( size_type  i) const
inlineconstexprnoexcept

◆ rbegin() [1/2]

template<typename T >
constexpr reverse_iterator absl::Span< T >::rbegin ( ) const
inlineconstexprnoexcept

◆ rbegin() [2/2]

template<typename T >
constexpr reverse_iterator absl::Span< T >::rbegin ( ) const
inlineconstexprnoexcept

Definition at line 338 of file abseil-cpp/absl/types/span.h.

◆ remove_prefix() [1/2]

template<typename T >
void absl::Span< T >::remove_prefix ( size_type  n)
inlinenoexcept

Definition at line 369 of file abseil-cpp/absl/types/span.h.

◆ remove_prefix() [2/2]

template<typename T >
void absl::Span< T >::remove_prefix ( size_type  n)
inlinenoexcept

◆ remove_suffix() [1/2]

template<typename T >
void absl::Span< T >::remove_suffix ( size_type  n)
inlinenoexcept

◆ remove_suffix() [2/2]

template<typename T >
void absl::Span< T >::remove_suffix ( size_type  n)
inlinenoexcept

Definition at line 378 of file abseil-cpp/absl/types/span.h.

◆ rend() [1/2]

template<typename T >
constexpr reverse_iterator absl::Span< T >::rend ( ) const
inlineconstexprnoexcept

Definition at line 353 of file abseil-cpp/absl/types/span.h.

◆ rend() [2/2]

template<typename T >
constexpr reverse_iterator absl::Span< T >::rend ( ) const
inlineconstexprnoexcept

◆ size() [1/2]

template<typename T >
constexpr size_type absl::Span< T >::size ( ) const
inlineconstexprnoexcept

◆ size() [2/2]

template<typename T >
constexpr size_type absl::Span< T >::size ( ) const
inlineconstexprnoexcept

Definition at line 261 of file abseil-cpp/absl/types/span.h.

◆ subspan() [1/2]

template<typename T >
constexpr Span absl::Span< T >::subspan ( size_type  pos = 0,
size_type  len = npos 
) const
inlineconstexpr

◆ subspan() [2/2]

template<typename T >
constexpr Span absl::Span< T >::subspan ( size_type  pos = 0,
size_type  len = npos 
) const
inlineconstexpr

Definition at line 399 of file abseil-cpp/absl/types/span.h.

Friends And Related Function Documentation

◆ AbslHashValue [1/2]

template<typename T >
template<typename H >
H AbslHashValue ( H  h,
Span< T v 
)
friend

Definition at line 441 of file abseil-cpp/absl/types/span.h.

◆ AbslHashValue [2/2]

template<typename T >
template<typename H >
H AbslHashValue ( H  h,
Span< T v 
)
friend

Member Data Documentation

◆ len_

template<typename T >
size_type Span< T >::len_
private

Definition at line 448 of file abseil-cpp/absl/types/span.h.

◆ npos

template<typename T >
const Span< T >::size_type Span< T >::npos = ~(size_type(0))
static

Definition at line 185 of file abseil-cpp/absl/types/span.h.

◆ ptr_

template<typename T >
pointer Span< T >::ptr_
private

Definition at line 447 of file abseil-cpp/absl/types/span.h.


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


grpc
Author(s):
autogenerated on Fri May 16 2025 03:02:26