BlockIterator< COLLECTION, VALUETYPE, CONSTITERATOR, STRIDED > Class Template Reference Data Structures

#include <collection.h>

Inheritance diagram for BlockIterator< COLLECTION, VALUETYPE, CONSTITERATOR, STRIDED >:

详细描述

template<typename COLLECTION, typename VALUETYPE, Bool CONSTITERATOR, Bool STRIDED>
class maxon::BlockIterator< COLLECTION, VALUETYPE, CONSTITERATOR, STRIDED >

ForEachIterator-based class which iterates over the memory blocks of a collection. For a BaseArray you have just one Block , for the BlockArray as many as have been allocated and for a BaseList or PointerArray each element has its own Block .

Public Types

using  CollectionType = typename ConstIf < COLLECTION, CONSTITERATOR >::type
using  ElementType = typename ConstIf < VALUETYPE, CONSTITERATOR >::type
using  ValueType = Block < ElementType , STRIDED >
-  Public Types inherited from ForEachIterator< BlockIterator< COLLECTION, VALUETYPE, CONSTITERATOR, STRIDED > >
using  IsForEachIterator = std::true_type

公共成员函数

  BlockIterator ()
  BlockIterator (const BlockIterator &)=default
BlockIterator operator= (const BlockIterator &)=default
MAXON_IMPLICIT   BlockIterator ( CollectionType *array)
ValueType operator* ()
ValueType operator-> ()
  operator Bool () const
BlockIterator operator++ ()
void  operator++ (int)
-  Public Member Functions inherited from ForEachIterator< BlockIterator< COLLECTION, VALUETYPE, CONSTITERATOR, STRIDED > >
MAXON_ATTRIBUTE_FORCE_INLINE   ForEachIterator (ARGS &&... args)
String   ToString (const FormatStatement *formatStatement=nullptr)
BlockIterator < COLLECTION, VALUETYPE, CONSTITERATOR, STRIDED > &  Find (const T &v)
Int   FindIndex (const T &v)
MAXON_ATTRIBUTE_FORCE_INLINE Bool   Contains (const T &v)
MAXON_ATTRIBUTE_FORCE_INLINE Wrapper  begin ()

Private Attributes

ValueType   _block
CollectionType _array
Int   _index

Additional Inherited Members

-  Static Public Member Functions inherited from ForEachIterator< BlockIterator< COLLECTION, VALUETYPE, CONSTITERATOR, STRIDED > >
static MAXON_ATTRIBUTE_FORCE_INLINE   PRIVATE_MAXON_RBF_SENTINEL (Wrapper) end()

Member Typedef Documentation

◆  CollectionType

using CollectionType = typename ConstIf <COLLECTION, CONSTITERATOR>::type

◆  ElementType

using ElementType = typename ConstIf <VALUETYPE, CONSTITERATOR>::type

◆  ValueType

using ValueType = Block < ElementType , STRIDED>

构造函数 & 析构函数文档编制

◆  BlockIterator() [1/3]

BlockIterator ( )

◆  BlockIterator() [2/3]

BlockIterator ( const BlockIterator < COLLECTION, VALUETYPE, CONSTITERATOR, STRIDED > &  )
default

◆  BlockIterator() [3/3]

MAXON_IMPLICIT BlockIterator ( CollectionType array )

成员函数文档编制

◆  operator=()

BlockIterator & operator= ( const BlockIterator < COLLECTION, VALUETYPE, CONSTITERATOR, STRIDED > &  )
default

◆  operator*()

ValueType & operator* ( )

◆  operator->()

ValueType * operator-> ( )

◆  operator Bool()

operator Bool ( ) const
explicit

◆  operator++() [1/2]

BlockIterator & operator++ ( )

◆  operator++() [2/2]

void operator++ ( int  )

Member Data Documentation

◆  _block

ValueType _block
private

◆  _array

CollectionType * _array
private

◆  _index

Int _index
private