Panzer Version of the Day
Loading...
Searching...
No Matches
panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT > Class Template Reference

#include <Panzer_VectorTemplateIterator.hpp>

Public Types

using iterator_category = std::input_iterator_tag
using value_type = std::vector<Teuchos::RCP<BaseT>>
using differnce_type = std::ptrdiff_t
using pointer = value_type*
using reference = value_type&

Public Member Functions

 VectorTemplateIterator (panzer::VectorTemplateManager< TypeSeq, BaseT, ObjectT > &m, typename std::vector< std::vector< Teuchos::RCP< BaseT > > >::iterator p)
 Constructor.
bool operator== (const VectorTemplateIterator &t) const
 Equal operator.
bool operator!= (const VectorTemplateIterator &t) const
 Not equal operator.
panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::reference operator* () const
 Dereference operator.
panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::pointer operator-> () const
 -> operator
VectorTemplateIterator & operator++ ()
 Prefix ++.
VectorTemplateIterator operator++ (int)
 Postfix ++.

Private Attributes

panzer::VectorTemplateManager< TypeSeq, BaseT, ObjectT > * manager_
std::vector< std::vector< Teuchos::RCP< BaseT > > >::iterator object_iterator_

Detailed Description

template<typename TypeSeq, typename BaseT, typename ObjectT>
class panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >

Iterator for traversing through template instantiations stored by the TemplateManager class.

This class implements a standard forward iterator for the TemplateManager.

Definition at line 30 of file Panzer_VectorTemplateIterator.hpp.

Member Typedef Documentation

◆ iterator_category

template<typename TypeSeq, typename BaseT, typename ObjectT>
using panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::iterator_category = std::input_iterator_tag

Definition at line 34 of file Panzer_VectorTemplateIterator.hpp.

◆ value_type

template<typename TypeSeq, typename BaseT, typename ObjectT>
using panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::value_type = std::vector<Teuchos::RCP<BaseT>>

Definition at line 35 of file Panzer_VectorTemplateIterator.hpp.

◆ differnce_type

template<typename TypeSeq, typename BaseT, typename ObjectT>
using panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::differnce_type = std::ptrdiff_t

Definition at line 36 of file Panzer_VectorTemplateIterator.hpp.

◆ pointer

template<typename TypeSeq, typename BaseT, typename ObjectT>
using panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::pointer = value_type*

Definition at line 37 of file Panzer_VectorTemplateIterator.hpp.

◆ reference

template<typename TypeSeq, typename BaseT, typename ObjectT>
using panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::reference = value_type&

Definition at line 38 of file Panzer_VectorTemplateIterator.hpp.

Constructor & Destructor Documentation

◆ VectorTemplateIterator()

template<typename TypeSeq, typename BaseT, typename ObjectT>
panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::VectorTemplateIterator ( panzer::VectorTemplateManager< TypeSeq, BaseT, ObjectT > & m,
typename std::vector< std::vector< Teuchos::RCP< BaseT > > >::iterator p )
inline

Constructor.

Definition at line 41 of file Panzer_VectorTemplateIterator.hpp.

Member Function Documentation

◆ operator==()

template<typename TypeSeq, typename BaseT, typename ObjectT>
bool panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::operator== ( const VectorTemplateIterator< TypeSeq, BaseT, ObjectT > & t) const
inline

Equal operator.

Definition at line 46 of file Panzer_VectorTemplateIterator.hpp.

◆ operator!=()

template<typename TypeSeq, typename BaseT, typename ObjectT>
bool panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::operator!= ( const VectorTemplateIterator< TypeSeq, BaseT, ObjectT > & t) const
inline

Not equal operator.

Definition at line 50 of file Panzer_VectorTemplateIterator.hpp.

◆ operator*()

template<typename TypeSeq, typename BaseT, typename ObjectT>
panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::reference panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::operator* ( ) const
inline

Dereference operator.

Definition at line 55 of file Panzer_VectorTemplateIterator.hpp.

◆ operator->()

template<typename TypeSeq, typename BaseT, typename ObjectT>
panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::pointer panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::operator-> ( ) const
inline

-> operator

Definition at line 61 of file Panzer_VectorTemplateIterator.hpp.

◆ operator++() [1/2]

template<typename TypeSeq, typename BaseT, typename ObjectT>
VectorTemplateIterator & panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::operator++ ( )
inline

Prefix ++.

Definition at line 66 of file Panzer_VectorTemplateIterator.hpp.

◆ operator++() [2/2]

template<typename TypeSeq, typename BaseT, typename ObjectT>
VectorTemplateIterator panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::operator++ ( int )
inline

Postfix ++.

Definition at line 72 of file Panzer_VectorTemplateIterator.hpp.

Member Data Documentation

◆ manager_

template<typename TypeSeq, typename BaseT, typename ObjectT>
panzer::VectorTemplateManager<TypeSeq,BaseT,ObjectT>* panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::manager_
private

Definition at line 79 of file Panzer_VectorTemplateIterator.hpp.

◆ object_iterator_

template<typename TypeSeq, typename BaseT, typename ObjectT>
std::vector<std::vector<Teuchos::RCP<BaseT>>>::iterator panzer::VectorTemplateIterator< TypeSeq, BaseT, ObjectT >::object_iterator_
private

Definition at line 80 of file Panzer_VectorTemplateIterator.hpp.


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