DiaDes
0.1
DIAgnosis of Discrete-Event System
|
#include <Iterator.hh>
Public Types | |
using | MapStructure = typename Mapper::MapStructure |
using | Iterator = typename Mapper::Iterator |
using | Data = typename Mapper::Data |
typedef const Data & | reference |
using | iterator_category = std::forward_iterator_tag |
Public Member Functions | |
RangeMapperIterator (const MapStructure &m, Iterator it) | |
RangeMapperIterator (const RangeMapperIterator &it) | |
RangeMapperIterator & | operator= (const RangeMapperIterator &it) |
RangeMapperIterator & | operator++ () |
RangeMapperIterator | operator++ (int) |
reference | operator* () const |
bool | operator== (const RangeMapperIterator &it) const |
bool | operator!= (const RangeMapperIterator &it) const |
Private Attributes | |
const MapStructure * | _mapStructure |
Iterator | _it |
Suppose that Mapper is a functor that can associate to a Mapper::Iterator a Mapper::Data through Mapper::MapStructure then a RangeMapperIterator can iterate through a range of Mapper::Data objects
One example of use is the StatePropertyIdRangeIterator of a StateMachine in the automata library where the Mapper is StateMachine::GetStatePropertyId
Another nice instance of use is in ManagedSynchronisedStateCreation in file diades/automata/experimental/StateCreation.hh In this example, the Iterator is simply a index through a vector
Iterator is not required to be dereferenced here (no * operator is needed). Only ++ ir needed.
Definition at line 43 of file Iterator.hh.
using Diades::Utils::RangeMapperIterator< Mapper >::Data = typename Mapper::Data |
Definition at line 48 of file Iterator.hh.
using Diades::Utils::RangeMapperIterator< Mapper >::Iterator = typename Mapper::Iterator |
Definition at line 47 of file Iterator.hh.
using Diades::Utils::RangeMapperIterator< Mapper >::iterator_category = std::forward_iterator_tag |
Definition at line 55 of file Iterator.hh.
using Diades::Utils::RangeMapperIterator< Mapper >::MapStructure = typename Mapper::MapStructure |
Definition at line 46 of file Iterator.hh.
typedef const Data& Diades::Utils::RangeMapperIterator< Mapper >::reference |
Definition at line 54 of file Iterator.hh.
|
inlineexplicit |
Definition at line 58 of file Iterator.hh.
|
inline |
Definition at line 62 of file Iterator.hh.
|
inline |
Definition at line 99 of file Iterator.hh.
|
inline |
Definition at line 89 of file Iterator.hh.
References Diades::Utils::RangeMapperIterator< Mapper >::_it, and Diades::Utils::RangeMapperIterator< Mapper >::_mapStructure.
|
inline |
Definition at line 76 of file Iterator.hh.
References Diades::Utils::RangeMapperIterator< Mapper >::_it.
|
inline |
Definition at line 82 of file Iterator.hh.
|
inline |
Definition at line 66 of file Iterator.hh.
References Diades::Utils::RangeMapperIterator< Mapper >::_it, and Diades::Utils::RangeMapperIterator< Mapper >::_mapStructure.
|
inline |
Definition at line 94 of file Iterator.hh.
References Diades::Utils::RangeMapperIterator< Mapper >::_it, and Diades::Utils::RangeMapperIterator< Mapper >::_mapStructure.
|
private |
|
private |
Definition at line 51 of file Iterator.hh.
Referenced by Diades::Utils::RangeMapperIterator< Mapper >::operator*(), Diades::Utils::RangeMapperIterator< Mapper >::operator=(), and Diades::Utils::RangeMapperIterator< Mapper >::operator==().