Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Private Attributes | List of all members
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. More...
 
bool operator== (const VectorTemplateIterator &t) const
 Equal operator. More...
 
bool operator!= (const VectorTemplateIterator &t) const
 Not equal operator. More...
 
panzer::VectorTemplateIterator
< TypeSeq, BaseT, ObjectT >
::reference 
operator* () const
 Dereference operator. More...
 
panzer::VectorTemplateIterator
< TypeSeq, BaseT, ObjectT >
::pointer 
operator-> () const
 -> operator More...
 
VectorTemplateIteratoroperator++ ()
 Prefix ++. More...
 
VectorTemplateIterator operator++ (int)
 Postfix ++. More...
 

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 62 of file Panzer_VectorTemplateIterator.hpp.

Member Typedef Documentation

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

Definition at line 66 of file Panzer_VectorTemplateIterator.hpp.

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

Definition at line 67 of file Panzer_VectorTemplateIterator.hpp.

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

Definition at line 68 of file Panzer_VectorTemplateIterator.hpp.

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

Definition at line 69 of file Panzer_VectorTemplateIterator.hpp.

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

Definition at line 70 of file Panzer_VectorTemplateIterator.hpp.

Constructor & Destructor Documentation

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 73 of file Panzer_VectorTemplateIterator.hpp.

Member Function Documentation

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 78 of file Panzer_VectorTemplateIterator.hpp.

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 82 of file Panzer_VectorTemplateIterator.hpp.

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 87 of file Panzer_VectorTemplateIterator.hpp.

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 93 of file Panzer_VectorTemplateIterator.hpp.

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

Prefix ++.

Definition at line 98 of file Panzer_VectorTemplateIterator.hpp.

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

Postfix ++.

Definition at line 104 of file Panzer_VectorTemplateIterator.hpp.

Member Data Documentation

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

Definition at line 111 of file Panzer_VectorTemplateIterator.hpp.

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 112 of file Panzer_VectorTemplateIterator.hpp.


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