Multiscale Universal Interface  2.0
A Concurrent Framework for Coupling Heterogeneous Solvers
mui::bin_iterator< T, CONFIG > Struct Template Reference

#include <bin.h>

Inheritance diagram for mui::bin_iterator< T, CONFIG >:
Collaboration diagram for mui::bin_iterator< T, CONFIG >:

Public Types

using P = std::pair< typename CONFIG::point_type, T >
 

Public Member Functions

 bin_iterator (const bin_range< T, CONFIG > &range_)
 
 bin_iterator (const bin_range< T, CONFIG > &range_, int)
 
 bin_iterator (const bin_iterator &)=default
 
bin_iteratoroperator= (const bin_iterator &)=default
 
bin_iteratoroperator++ ()
 
bin_iterator operator++ (int)
 
void invalidate ()
 
void validate ()
 
bool operator!= (const bin_iterator &rhs) const
 
bool operator== (const bin_iterator &rhs) const
 
const Poperator* () const
 
const Poperator-> () const
 

Public Attributes

const bin_range< T, CONFIG > & range
 
int count [D-1]
 
std::size_t high
 
std::size_t index
 

Static Public Attributes

static const int D = CONFIG::D
 

Member Typedef Documentation

◆ P

template<typename T , typename CONFIG >
using mui::bin_iterator< T, CONFIG >::P = std::pair<typename CONFIG::point_type,T>

Constructor & Destructor Documentation

◆ bin_iterator() [1/3]

template<typename T , typename CONFIG >
mui::bin_iterator< T, CONFIG >::bin_iterator ( const bin_range< T, CONFIG > &  range_)

◆ bin_iterator() [2/3]

template<typename T , typename CONFIG >
mui::bin_iterator< T, CONFIG >::bin_iterator ( const bin_range< T, CONFIG > &  range_,
int   
)
inlineexplicit

◆ bin_iterator() [3/3]

template<typename T , typename CONFIG >
mui::bin_iterator< T, CONFIG >::bin_iterator ( const bin_iterator< T, CONFIG > &  )
default

Member Function Documentation

◆ invalidate()

template<typename T , typename CONFIG >
void mui::bin_iterator< T, CONFIG >::invalidate
inline

◆ operator!=()

template<typename T , typename CONFIG >
bool mui::bin_iterator< T, CONFIG >::operator!= ( const bin_iterator< T, CONFIG > &  rhs) const
inline

◆ operator*()

template<typename T , typename CONFIG >
const bin_iterator< T, CONFIG >::P & mui::bin_iterator< T, CONFIG >::operator*
inline

◆ operator++() [1/2]

template<typename T , typename CONFIG >
bin_iterator< T, CONFIG > & mui::bin_iterator< T, CONFIG >::operator++
inline

◆ operator++() [2/2]

template<typename T , typename CONFIG >
bin_iterator mui::bin_iterator< T, CONFIG >::operator++ ( int  )
inline

◆ operator->()

template<typename T , typename CONFIG >
const bin_iterator< T, CONFIG >::P * mui::bin_iterator< T, CONFIG >::operator->
inline

◆ operator=()

template<typename T , typename CONFIG >
bin_iterator& mui::bin_iterator< T, CONFIG >::operator= ( const bin_iterator< T, CONFIG > &  )
default

◆ operator==()

template<typename T , typename CONFIG >
bool mui::bin_iterator< T, CONFIG >::operator== ( const bin_iterator< T, CONFIG > &  rhs) const
inline

◆ validate()

template<typename T , typename CONFIG >
void mui::bin_iterator< T, CONFIG >::validate
inline

Member Data Documentation

◆ count

template<typename T , typename CONFIG >
int mui::bin_iterator< T, CONFIG >::count[D-1]

◆ D

template<typename T , typename CONFIG >
const int mui::bin_iterator< T, CONFIG >::D = CONFIG::D
static

◆ high

template<typename T , typename CONFIG >
std::size_t mui::bin_iterator< T, CONFIG >::high

◆ index

template<typename T , typename CONFIG >
std::size_t mui::bin_iterator< T, CONFIG >::index

◆ range

template<typename T , typename CONFIG >
const bin_range<T,CONFIG>& mui::bin_iterator< T, CONFIG >::range

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