https://mooseframework.inl.gov
Public Types | Public Member Functions | List of all members
UniqueStorage< T >::DereferenceIterator< BaseIterator > Struct Template Reference

Iterator that adds an additional dereference to BaseIterator. More...

#include <UniqueStorage.h>

Inheritance diagram for UniqueStorage< T >::DereferenceIterator< BaseIterator >:
[legend]

Public Types

using value_type = typename BaseIterator::value_type::element_type
 
using pointer = value_type *
 
using reference = value_type &
 

Public Member Functions

 DereferenceIterator (const BaseIterator &it)
 
reference operator* () const
 
pointer operator-> () const
 
reference operator[] (size_t n) const
 

Detailed Description

template<class T>
template<class BaseIterator>
struct UniqueStorage< T >::DereferenceIterator< BaseIterator >

Iterator that adds an additional dereference to BaseIterator.

Definition at line 47 of file UniqueStorage.h.

Member Typedef Documentation

◆ pointer

template<class T>
template<class BaseIterator >
using UniqueStorage< T >::DereferenceIterator< BaseIterator >::pointer = value_type *

Definition at line 52 of file UniqueStorage.h.

◆ reference

template<class T>
template<class BaseIterator >
using UniqueStorage< T >::DereferenceIterator< BaseIterator >::reference = value_type &

Definition at line 53 of file UniqueStorage.h.

◆ value_type

template<class T>
template<class BaseIterator >
using UniqueStorage< T >::DereferenceIterator< BaseIterator >::value_type = typename BaseIterator::value_type::element_type

Definition at line 51 of file UniqueStorage.h.

Constructor & Destructor Documentation

◆ DereferenceIterator()

template<class T>
template<class BaseIterator >
UniqueStorage< T >::DereferenceIterator< BaseIterator >::DereferenceIterator ( const BaseIterator &  it)
inline

Definition at line 49 of file UniqueStorage.h.

49 : BaseIterator(it) {}

Member Function Documentation

◆ operator*()

template<class T>
template<class BaseIterator >
reference UniqueStorage< T >::DereferenceIterator< BaseIterator >::operator* ( ) const
inline

Definition at line 55 of file UniqueStorage.h.

56  {
57  auto & val = BaseIterator::operator*();
58  mooseAssert(val, "Null object");
59  return *val;
60  }
infix_ostream_iterator< T, charT, traits > & operator*()
Definition: InfixIterator.h:56

◆ operator->()

template<class T>
template<class BaseIterator >
pointer UniqueStorage< T >::DereferenceIterator< BaseIterator >::operator-> ( ) const
inline

Definition at line 61 of file UniqueStorage.h.

61 { return BaseIterator::operator*().get(); }
infix_ostream_iterator< T, charT, traits > & operator*()
Definition: InfixIterator.h:56

◆ operator[]()

template<class T>
template<class BaseIterator >
reference UniqueStorage< T >::DereferenceIterator< BaseIterator >::operator[] ( size_t  n) const
inline

Definition at line 62 of file UniqueStorage.h.

63  {
64  auto & val = BaseIterator::operator[](n);
65  mooseAssert(val, "Null object");
66  return *val;
67  }

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