Blender V4.3
blender::OffsetSpan< T, BaseT > Class Template Reference

#include <BLI_offset_span.hh>

Classes

class  Iterator
 

Public Member Functions

 OffsetSpan ()=default
 
 OffsetSpan (const T offset, const Span< BaseT > data)
 
Span< BaseT > base_span () const
 
T offset () const
 
bool is_empty () const
 
int64_t size () const
 
T last (const int64_t n=0) const
 
IndexRange index_range () const
 
T operator[] (const int64_t i) const
 
OffsetSpan slice (const IndexRange &range) const
 
OffsetSpan slice (const int64_t start, const int64_t size) const
 
Iterator begin () const
 
Iterator end () const
 

Detailed Description

template<typename T, typename BaseT>
class blender::OffsetSpan< T, BaseT >

An OffsetSpan is a #Span with a constant offset that is added to every value when accessed. This allows e.g. storing multiple int64_t indices as an array of int16_t with an additional int64_t offset.

Definition at line 17 of file BLI_offset_span.hh.

Constructor & Destructor Documentation

◆ OffsetSpan() [1/2]

template<typename T , typename BaseT >
blender::OffsetSpan< T, BaseT >::OffsetSpan ( )
default

◆ OffsetSpan() [2/2]

template<typename T , typename BaseT >
blender::OffsetSpan< T, BaseT >::OffsetSpan ( const T offset,
const Span< BaseT > data )
inline

Definition at line 26 of file BLI_offset_span.hh.

Member Function Documentation

◆ base_span()

template<typename T , typename BaseT >
Span< BaseT > blender::OffsetSpan< T, BaseT >::base_span ( ) const
inline
Returns
Underlying span containing the values that are not offset.

Definition at line 29 of file BLI_offset_span.hh.

Referenced by blender::fn::multi_function::build::detail::execute_materialized(), and blender::index_mask::from_bits_batch_predicate().

◆ begin()

template<typename T , typename BaseT >
Iterator blender::OffsetSpan< T, BaseT >::begin ( ) const
inline

◆ end()

template<typename T , typename BaseT >
Iterator blender::OffsetSpan< T, BaseT >::end ( ) const
inline

◆ index_range()

template<typename T , typename BaseT >
IndexRange blender::OffsetSpan< T, BaseT >::index_range ( ) const
inline

◆ is_empty()

template<typename T , typename BaseT >
bool blender::OffsetSpan< T, BaseT >::is_empty ( ) const
inline

◆ last()

◆ offset()

template<typename T , typename BaseT >
T blender::OffsetSpan< T, BaseT >::offset ( ) const
inline

◆ operator[]()

template<typename T , typename BaseT >
T blender::OffsetSpan< T, BaseT >::operator[] ( const int64_t i) const
inline

Definition at line 59 of file BLI_offset_span.hh.

References T.

◆ size()

◆ slice() [1/2]

template<typename T , typename BaseT >
OffsetSpan blender::OffsetSpan< T, BaseT >::slice ( const IndexRange & range) const
inline

Definition at line 64 of file BLI_offset_span.hh.

References blender::Span< T >::slice().

◆ slice() [2/2]

template<typename T , typename BaseT >
OffsetSpan blender::OffsetSpan< T, BaseT >::slice ( const int64_t start,
const int64_t size ) const
inline

Definition at line 69 of file BLI_offset_span.hh.

References blender::Span< T >::slice().


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