HDK
|
#include <span.h>
Public Types | |
using | element_type = T |
using | value_type = typename std::remove_cv< T >::type |
using | size_type = oiio_span_size_type |
using | difference_type = ptrdiff_t |
using | stride_type = ptrdiff_t |
using | pointer = element_type * |
using | reference = element_type & |
using | iterator = element_type * |
using | const_iterator = const element_type * |
using | reverse_iterator = std::reverse_iterator< iterator > |
using | const_reverse_iterator = std::reverse_iterator< const_iterator > |
Public Member Functions | |
constexpr | span_strided () noexcept |
Default ctr – points to nothing. More... | |
constexpr | span_strided (const span_strided ©) |
Copy constructor. More... | |
constexpr | span_strided (pointer data, size_type size, stride_type stride=1) |
Construct from T* and size, and optionally stride. More... | |
constexpr | span_strided (T &data) |
Construct from a single T&. More... | |
template<size_t N> | |
constexpr | span_strided (T(&data)[N]) |
template<class Allocator > | |
OIIO_CONSTEXPR14 | span_strided (std::vector< T, Allocator > &v) |
Construct from std::vector<T>. More... | |
template<class Allocator > | |
constexpr | span_strided (const std::vector< value_type, Allocator > &v) |
constexpr | span_strided (std::initializer_list< T > il) |
Construct an span from an initializer_list. More... | |
constexpr | span_strided (span< T > av) |
Initialize from an span (stride will be 1). More... | |
span_strided & | operator= (const span_strided ©) |
constexpr size_type | size () const noexcept |
constexpr stride_type | stride () const noexcept |
constexpr reference | operator[] (size_type idx) const |
constexpr reference | operator() (size_type idx) const |
reference | at (size_type idx) const |
constexpr reference | front () const noexcept |
constexpr reference | back () const noexcept |
constexpr pointer | data () const noexcept |
Static Public Attributes | |
static constexpr size_type | extent = Extent |
span_strided<T> : a non-owning, mutable reference to a contiguous array with known length and optionally non-default strides through the data. An span_strided<T> is mutable (the values in the array may be modified), whereas an span_strided<const T> is not mutable.
using span_strided< T, Extent >::const_iterator = const element_type* |
using span_strided< T, Extent >::const_reverse_iterator = std::reverse_iterator<const_iterator> |
using span_strided< T, Extent >::difference_type = ptrdiff_t |
using span_strided< T, Extent >::element_type = T |
using span_strided< T, Extent >::iterator = element_type* |
using span_strided< T, Extent >::pointer = element_type* |
using span_strided< T, Extent >::reference = element_type& |
using span_strided< T, Extent >::reverse_iterator = std::reverse_iterator<iterator> |
using span_strided< T, Extent >::size_type = oiio_span_size_type |
using span_strided< T, Extent >::stride_type = ptrdiff_t |
using span_strided< T, Extent >::value_type = typename std::remove_cv<T>::type |
|
inlinenoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Construct from const std::vector<T>. This turns const std::vector<T> into an span_strided<const T> (the span_strided isn't const, but the data it points to will be).
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
static |