NEML2 2.0.0
Loading...
Searching...
No Matches
Storage< I, T >::DereferenceIterator< BaseIterator > Struct Template Reference

Detailed Description

template<typename I, typename T>
template<class BaseIterator>
struct neml2::Storage< I, T >::DereferenceIterator< BaseIterator >

Iterator that adds an additional dereference to BaseIterator.

#include <Storage.h>

Inheritance diagram for Storage< I, T >::DereferenceIterator< BaseIterator >:

Public Types

using key_type = typename BaseIterator::value_type::first_type
 
using value_type = typename BaseIterator::value_type::second_type::element_type
 

Public Member Functions

 DereferenceIterator (const BaseIterator &it)
 
std::pair< key_type, value_type & > operator* () const
 
std::pair< key_type, value_type * > operator-> () const
 

Member Typedef Documentation

◆ key_type

template<typename I , typename T >
template<class BaseIterator >
using key_type = typename BaseIterator::value_type::first_type

◆ value_type

template<typename I , typename T >
template<class BaseIterator >
using value_type = typename BaseIterator::value_type::second_type::element_type

Constructor & Destructor Documentation

◆ DereferenceIterator()

template<typename I , typename T >
template<class BaseIterator >
DereferenceIterator ( const BaseIterator & it)
inline

Member Function Documentation

◆ operator*()

template<typename I , typename T >
template<class BaseIterator >
std::pair< key_type, value_type & > operator* ( ) const
inline

◆ operator->()

template<typename I , typename T >
template<class BaseIterator >
std::pair< key_type, value_type * > operator-> ( ) const
inline