BaseIterator< COLLECTION, true > Class Template Reference

#include <block.h>

Inheritance diagram for BaseIterator< COLLECTION, true >:

Detailed Description

template<typename COLLECTION>
class maxon::BaseIterator< COLLECTION, true >

BaseIterator specialization for elements having a different offset from each other than the element size.

Template Parameters
COLLECTIONType of the array.

Public Types

using Super = BaseIterator< COLLECTION, false >
 
using ValueType = typename Super::ValueType
 
- Public Types inherited from BaseIterator< COLLECTION, false >
using CollectionType = COLLECTION
 
using ValueType = typename InheritConst< typename COLLECTION::ValueType, COLLECTION >::type
 
using iterator_category = std::random_access_iterator_tag
 
using difference_type = Int
 
using value_type = ValueType
 
using pointer = ValueType *
 
using reference = ValueType &
 

Public Member Functions

 BaseIterator (COLLECTION &a, Int index)
 
 BaseIterator (ValueType *pos, Int index, Int stride)
 
 BaseIterator (const BaseIterator &src)=default
 
BaseIteratoroperator= (const BaseIterator &src)=default
 
 operator BaseIterator< typename std::add_const< COLLECTION >::type, true > & ()
 
Bool operator== (const BaseIterator &b) const
 
Bool operator< (const BaseIterator &b) const
 
 MAXON_OPERATOR_COMPARISON (BaseIterator)
 
BaseIteratoroperator++ ()
 
BaseIterator operator++ (int)
 
BaseIteratoroperator+= (Int i)
 
BaseIteratoroperator-- ()
 
BaseIterator operator-- (int)
 
BaseIteratoroperator-= (Int i)
 
BaseIterator operator+ (Int i) const
 
BaseIterator operator- (Int i) const
 
Int operator- (const BaseIterator &b) const
 
- Public Member Functions inherited from BaseIterator< COLLECTION, false >
 BaseIterator (CollectionType &a, Int start=0)
 
 BaseIterator (ValueType *pos=nullptr, Int index=0, Int stride=0)
 
 BaseIterator (const BaseIterator &src)=default
 
BaseIteratoroperator= (const BaseIterator &src)=default
 
 operator BaseIterator< typename std::add_const< COLLECTION >::type, STRIDED > & ()
 
 operator Bool () const
 
ValueTypeGetPtr () const
 
ValueTypeoperator* () const
 
ValueTypeoperator-> () const
 
Bool operator== (const BaseIterator &b) const
 
Bool operator< (const BaseIterator &b) const
 
 MAXON_OPERATOR_COMPARISON (BaseIterator)
 
BaseIteratoroperator++ ()
 
BaseIterator operator++ (int)
 
BaseIteratoroperator+= (Int i)
 
BaseIteratoroperator-- ()
 
BaseIterator operator-- (int)
 
BaseIteratoroperator-= (Int i)
 
BaseIterator operator+ (Int i) const
 
BaseIterator operator- (Int i) const
 
Int operator- (const BaseIterator &b) const
 

Protected Attributes

const Int _stride
 
Int _index
 
- Protected Attributes inherited from BaseIterator< COLLECTION, false >
ValueType_data
 

Additional Inherited Members

- Static Public Attributes inherited from BaseIterator< COLLECTION, false >
static const Bool isLinearIterator
 

Member Typedef Documentation

◆ Super

using Super = BaseIterator<COLLECTION, false>

◆ ValueType

using ValueType = typename Super::ValueType

Constructor & Destructor Documentation

◆ BaseIterator() [1/3]

BaseIterator ( COLLECTION &  a,
Int  index 
)

◆ BaseIterator() [2/3]

BaseIterator ( ValueType pos,
Int  index,
Int  stride 
)

◆ BaseIterator() [3/3]

BaseIterator ( const BaseIterator< COLLECTION, true > &  src)
default

Member Function Documentation

◆ operator=()

BaseIterator& operator= ( const BaseIterator< COLLECTION, true > &  src)
default

◆ operator BaseIterator< typename std::add_const< COLLECTION >::type, true > &()

operator BaseIterator< typename std::add_const< COLLECTION >::type, true > & ( )

◆ operator==()

Bool operator== ( const BaseIterator< COLLECTION, true > &  b) const

◆ operator<()

Bool operator< ( const BaseIterator< COLLECTION, true > &  b) const

◆ MAXON_OPERATOR_COMPARISON()

MAXON_OPERATOR_COMPARISON ( BaseIterator< COLLECTION, true >  )

◆ operator++() [1/2]

BaseIterator& operator++ ( )

◆ operator++() [2/2]

BaseIterator operator++ ( int  )

◆ operator+=()

BaseIterator& operator+= ( Int  i)

◆ operator--() [1/2]

BaseIterator& operator-- ( )

◆ operator--() [2/2]

BaseIterator operator-- ( int  )

◆ operator-=()

BaseIterator& operator-= ( Int  i)

◆ operator+()

BaseIterator operator+ ( Int  i) const

◆ operator-() [1/2]

BaseIterator operator- ( Int  i) const

◆ operator-() [2/2]

Int operator- ( const BaseIterator< COLLECTION, true > &  b) const

Member Data Documentation

◆ _stride

const Int _stride
protected

◆ _index

Int _index
protected