HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
span.h File Reference
#include <array>
#include <cstddef>
#include <initializer_list>
#include <iostream>
#include <stdexcept>
#include <type_traits>
#include <vector>
#include <OpenImageIO/dassert.h>
#include <OpenImageIO/oiioversion.h>
#include <OpenImageIO/platform.h>
+ Include dependency graph for span.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  span< T, Extent >
 
class  span_strided< T, Extent >
 

Namespaces

 std
 

Macros

#define OIIO_SPAN_HAS_STD_SIZE   1
 

Typedefs

using oiio_span_size_type = ptrdiff_t
 
template<typename T >
using cspan = span< const T >
 cspan<T> is a synonym for a non-mutable span<const T>. More...
 
template<typename T >
using cspan_strided = span_strided< const T >
 cspan_strided<T> is a synonym for a non-mutable span_strided<const T>. More...
 

Functions

template<class T , oiio_span_size_type X, class U , oiio_span_size_type Y>
OIIO_CONSTEXPR14 bool operator== (span< T, X > l, span< U, Y > r)
 Compare all elements of two spans for equality. More...
 
template<class T , oiio_span_size_type X, class U , oiio_span_size_type Y>
OIIO_CONSTEXPR14 bool operator!= (span< T, X > l, span< U, Y > r)
 Compare all elements of two spans for inequality. More...
 
template<class T , oiio_span_size_type X, class U , oiio_span_size_type Y>
OIIO_CONSTEXPR14 bool operator== (span_strided< T, X > l, span_strided< U, Y > r)
 Compare all elements of two spans for equality. More...
 
template<class T , oiio_span_size_type X, class U , oiio_span_size_type Y>
OIIO_CONSTEXPR14 bool operator!= (span_strided< T, X > l, span_strided< U, Y > r)
 Compare all elements of two spans for inequality. More...
 
template<class T , OIIO::oiio_span_size_type E = OIIO::dynamic_extent>
constexpr size_t std::size (const OIIO::span< T, E > &c)
 
template<class T , OIIO::oiio_span_size_type E = OIIO::dynamic_extent>
constexpr size_t std::size (const OIIO::span_strided< T, E > &c)
 
template<class T , OIIO::oiio_span_size_type E = OIIO::dynamic_extent>
constexpr ptrdiff_t std::ssize (const OIIO::span< T, E > &c)
 
template<class T , OIIO::oiio_span_size_type E = OIIO::dynamic_extent>
constexpr ptrdiff_t std::ssize (const OIIO::span_strided< T, E > &c)
 

Variables

OIIO_INLINE_CONSTEXPR
oiio_span_size_type 
dynamic_extent = -1
 

Macro Definition Documentation

#define OIIO_SPAN_HAS_STD_SIZE   1

Definition at line 406 of file span.h.

Typedef Documentation

template<typename T >
using cspan = span<const T>

cspan<T> is a synonym for a non-mutable span<const T>.

Definition at line 224 of file span.h.

template<typename T >
using cspan_strided = span_strided<const T>

cspan_strided<T> is a synonym for a non-mutable span_strided<const T>.

Definition at line 350 of file span.h.

using oiio_span_size_type = ptrdiff_t

Definition at line 38 of file span.h.

Function Documentation

template<class T , oiio_span_size_type X, class U , oiio_span_size_type Y>
OIIO_CONSTEXPR14 bool operator!= ( span< T, X >  l,
span< U, Y >  r 
)

Compare all elements of two spans for inequality.

Definition at line 244 of file span.h.

template<class T , oiio_span_size_type X, class U , oiio_span_size_type Y>
OIIO_CONSTEXPR14 bool operator!= ( span_strided< T, X >  l,
span_strided< U, Y >  r 
)

Compare all elements of two spans for inequality.

Definition at line 368 of file span.h.

template<class T , oiio_span_size_type X, class U , oiio_span_size_type Y>
OIIO_CONSTEXPR14 bool operator== ( span< T, X >  l,
span< U, Y >  r 
)

Compare all elements of two spans for equality.

Definition at line 230 of file span.h.

template<class T , oiio_span_size_type X, class U , oiio_span_size_type Y>
OIIO_CONSTEXPR14 bool operator== ( span_strided< T, X >  l,
span_strided< U, Y >  r 
)

Compare all elements of two spans for equality.

Definition at line 356 of file span.h.

Variable Documentation

OIIO_INLINE_CONSTEXPR oiio_span_size_type dynamic_extent = -1

Definition at line 41 of file span.h.