CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
MultiVectorManager< T >::Iterator Class Reference

#include <MultiVectorManager.h>

Public Types

using difference_type = std::ptrdiff_t
 
using iterator_category = std::forward_iterator_tag
 
using pointer = T *
 
using reference = T &
 
using value_type = T
 

Public Member Functions

 Iterator (const MultiVectorManager &manager, size_t index)
 
bool operator!= (const Iterator &other) const
 
Toperator* () const
 
void operator++ ()
 

Private Attributes

size_t currentIndex
 
const MultiVectorManagermanager
 

Detailed Description

template<typename T>
class MultiVectorManager< T >::Iterator

Definition at line 54 of file MultiVectorManager.h.

Member Typedef Documentation

◆ difference_type

template<typename T>
using MultiVectorManager< T >::Iterator::difference_type = std::ptrdiff_t

Definition at line 57 of file MultiVectorManager.h.

◆ iterator_category

template<typename T>
using MultiVectorManager< T >::Iterator::iterator_category = std::forward_iterator_tag

Definition at line 56 of file MultiVectorManager.h.

◆ pointer

template<typename T>
using MultiVectorManager< T >::Iterator::pointer = T*

Definition at line 59 of file MultiVectorManager.h.

◆ reference

template<typename T>
using MultiVectorManager< T >::Iterator::reference = T&

Definition at line 60 of file MultiVectorManager.h.

◆ value_type

template<typename T>
using MultiVectorManager< T >::Iterator::value_type = T

Definition at line 58 of file MultiVectorManager.h.

Constructor & Destructor Documentation

◆ Iterator()

template<typename T>
MultiVectorManager< T >::Iterator::Iterator ( const MultiVectorManager manager,
size_t  index 
)
inline

Member Function Documentation

◆ operator!=()

template<typename T>
bool MultiVectorManager< T >::Iterator::operator!= ( const Iterator other) const
inline

◆ operator*()

template<typename T>
T& MultiVectorManager< T >::Iterator::operator* ( ) const
inline

Definition at line 66 of file MultiVectorManager.h.

References MultiVectorManager< T >::Iterator::currentIndex, and MultiVectorManager< T >::Iterator::manager.

66 { return const_cast<T&>(manager[currentIndex]); }
const MultiVectorManager & manager
long double T

◆ operator++()

template<typename T>
void MultiVectorManager< T >::Iterator::operator++ ( )
inline

Member Data Documentation

◆ currentIndex

template<typename T>
size_t MultiVectorManager< T >::Iterator::currentIndex
private

◆ manager

template<typename T>
const MultiVectorManager& MultiVectorManager< T >::Iterator::manager
private

Definition at line 71 of file MultiVectorManager.h.

Referenced by MultiVectorManager< T >::Iterator::operator*().