|
OpenGM
2.3.x
Discrete Graphical Model Library
|
Defines the const iterator type to iterate over the subset of a sequence. More...
#include <subsequence_iterator.hxx>
Inheritance diagram for opengm::SubsequenceIterator< SEQUENCE_ITERATOR_TYPE, SUBSEQUENCE_INDICES_ITERATOR_TYPE >:
Collaboration diagram for opengm::SubsequenceIterator< SEQUENCE_ITERATOR_TYPE, SUBSEQUENCE_INDICES_ITERATOR_TYPE >:Public Types | |
| typedef SEQUENCE_ITERATOR_TYPE | SequenceIteratorType |
| Typedef of the SEQUENCE_ITERATOR_TYPE template parameter from the class SubsequenceIterator. More... | |
| typedef SUBSEQUENCE_INDICES_ITERATOR_TYPE | SubsequenceIndicesIteratorType |
| Typedef of the SUBSEQUENCE_INDICES_ITERATOR_TYPE template parameter from the class SubsequenceIterator. More... | |
| typedef SubsequenceIterator< SequenceIteratorType, SubsequenceIndicesIteratorType > | SubsequenceIteratorType |
| Typedef of the class SubsequenceIterator with appropriate template parameter. More... | |
| typedef SequenceIteratorType::value_type | value_type |
| Value type of the sequence adapted from SubsequenceIterator::SequenceIteratorType. More... | |
| typedef std::random_access_iterator_tag | iterator_category |
| STL compliant typedef of the iterator category. More... | |
| typedef std::iterator< std::random_access_iterator_tag, value_type >::difference_type | difference_type |
| STL compliant typedef of the iterator difference type. More... | |
| typedef value_type & | reference |
| STL compliant typedef of the iterator reference type. More... | |
| typedef value_type * | pointer |
| STL compliant typedef of the iterator pointer type. More... | |
Public Member Functions | |
| SubsequenceIterator () | |
| SubsequenceIterator constructor. More... | |
| SubsequenceIterator (const SubsequenceIteratorType ©) | |
| SubsequenceIterator constructor. More... | |
| SubsequenceIterator (const SequenceIteratorType sequenceBegin, const SubsequenceIndicesIteratorType subsequenceIndicesBegin, const size_t subsequenceIndicesPosition=0) | |
| SubsequenceIterator constructor. More... | |
| SubsequenceIteratorType & | operator= (const SubsequenceIteratorType ©) |
| SubsequenceIterator assignment operator. More... | |
| SubsequenceIteratorType & | operator++ () |
| Prefix increment operator. More... | |
| SubsequenceIteratorType | operator++ (int) |
| Postfix increment operator. More... | |
| SubsequenceIteratorType | operator+ (const difference_type &n) const |
| Arithmetic operator to increment iterator by an integer value. More... | |
| SubsequenceIteratorType & | operator+= (const difference_type &n) |
| Compound assignment operator to increment iterator by an integer value. More... | |
| SubsequenceIteratorType & | operator-- () |
| Prefix decrement operator. More... | |
| SubsequenceIteratorType | operator-- (int) |
| Postfix decrement operator. More... | |
| SubsequenceIteratorType | operator- (const difference_type &n) const |
| Arithmetic operator to decrement iterator by an integer value. More... | |
| SubsequenceIteratorType & | operator-= (const difference_type &n) |
| Compound assignment operator to decrement iterator by an integer value. More... | |
| const value_type & | operator* () const |
| Dereference operator. More... | |
| const value_type * | operator-> () const |
| Pointer operator. More... | |
| const value_type & | operator[] (const difference_type &n) const |
| Offset dereference operator. More... | |
Protected Attributes | |
| SequenceIteratorType | sequenceBegin_ |
| Iterator pointing to the begin of a sequence of values. The subsequence iterator will iterate over the elements of this sequence which are given by SubsequenceIterator::subsequenceIndicesBegin_. More... | |
| SubsequenceIndicesIteratorType | subsequenceIndicesBegin_ |
| Iterator pointing to the begin of a sequence where the indices for the elements of the subsequence are stored. Hence sequenceBegin_[subsequenceIndicesBegin_[n]] will give the n-th element of the subsequence. More... | |
| size_t | subsequenceIndicesPosition_ |
| Current Position of the iterator. Hence subsequenceIndicesPosition_ contains the number of the element of the subsequence at which the iterator is pointing at the moment. More... | |
Friends | |
| bool | operator== (const SubsequenceIteratorType &iter1, const SubsequenceIteratorType &iter2) |
| Equality comparison operator for two SubsequenceIterator iterators. More... | |
| bool | operator!= (const SubsequenceIteratorType &iter1, const SubsequenceIteratorType &iter2) |
| Inequality comparison operator for two SubsequenceIterator iterators. More... | |
| bool | operator< (const SubsequenceIteratorType &iter1, const SubsequenceIteratorType &iter2) |
| Less comparison operator for two SubsequenceIterator iterators. More... | |
| bool | operator> (const SubsequenceIteratorType &iter1, const SubsequenceIteratorType &iter2) |
| Greater comparison operator for two SubsequenceIterator iterators. More... | |
| bool | operator<= (const SubsequenceIteratorType &iter1, const SubsequenceIteratorType &iter2) |
| Less or equal comparison operator for two SubsequenceIterator iterators. More... | |
| bool | operator>= (const SubsequenceIteratorType &iter1, const SubsequenceIteratorType &iter2) |
| Greater or equal comparison operator for two SubsequenceIterator iterators. More... | |
| difference_type | operator- (const SubsequenceIteratorType &iter1, const SubsequenceIteratorType &iter2) |
| Difference operator for two subsequence iterators. More... | |
Defines the const iterator type to iterate over the subset of a sequence.
The SubsequenceIterator class implements an STL compliant constant random access iterator to iterate over the subset of a sequence.
| SEQUENCE_ITERATOR_TYPE | The iterator type used to iterate over the sequence. Has to be a random access iterator. |
| SUBSEQUENCE_INDICES_ITERATOR_TYPE | The iterator type used to iterate over the subsequence indices. Has to be a random access iterator. |
Definition at line 12 of file subsequence_iterator.hxx.
| opengm::SubsequenceIterator< SEQUENCE_ITERATOR_TYPE, SUBSEQUENCE_INDICES_ITERATOR_TYPE >::difference_type |
STL compliant typedef of the iterator difference type.
Definition at line 20 of file subsequence_iterator.hxx.
| opengm::SubsequenceIterator< SEQUENCE_ITERATOR_TYPE, SUBSEQUENCE_INDICES_ITERATOR_TYPE >::iterator_category |
STL compliant typedef of the iterator category.
Definition at line 19 of file subsequence_iterator.hxx.
| opengm::SubsequenceIterator< SEQUENCE_ITERATOR_TYPE, SUBSEQUENCE_INDICES_ITERATOR_TYPE >::pointer |
STL compliant typedef of the iterator pointer type.
Definition at line 22 of file subsequence_iterator.hxx.
| opengm::SubsequenceIterator< SEQUENCE_ITERATOR_TYPE, SUBSEQUENCE_INDICES_ITERATOR_TYPE >::reference |
STL compliant typedef of the iterator reference type.
Definition at line 21 of file subsequence_iterator.hxx.
| opengm::SubsequenceIterator< SEQUENCE_ITERATOR_TYPE, SUBSEQUENCE_INDICES_ITERATOR_TYPE >::SequenceIteratorType |
Typedef of the SEQUENCE_ITERATOR_TYPE template parameter from the class SubsequenceIterator.
Definition at line 15 of file subsequence_iterator.hxx.
| opengm::SubsequenceIterator< SEQUENCE_ITERATOR_TYPE, SUBSEQUENCE_INDICES_ITERATOR_TYPE >::SubsequenceIndicesIteratorType |
Typedef of the SUBSEQUENCE_INDICES_ITERATOR_TYPE template parameter from the class SubsequenceIterator.
Definition at line 16 of file subsequence_iterator.hxx.
| opengm::SubsequenceIterator< SEQUENCE_ITERATOR_TYPE, SUBSEQUENCE_INDICES_ITERATOR_TYPE >::SubsequenceIteratorType |
Typedef of the class SubsequenceIterator with appropriate template parameter.
Definition at line 17 of file subsequence_iterator.hxx.
| opengm::SubsequenceIterator< SEQUENCE_ITERATOR_TYPE, SUBSEQUENCE_INDICES_ITERATOR_TYPE >::value_type |
Value type of the sequence adapted from SubsequenceIterator::SequenceIteratorType.
Definition at line 18 of file subsequence_iterator.hxx.
|
inline |
SubsequenceIterator constructor.
This constructor will create an empty SubsequenceIterator.
Definition at line 350 of file subsequence_iterator.hxx.
|
inline |
SubsequenceIterator constructor.
This constructor will create a copy of an existing SubsequenceIterator.
| [in] | copy | The iterator which will be copied. |
Definition at line 356 of file subsequence_iterator.hxx.
|
inline |
SubsequenceIterator constructor.
This constructor will create a new SubsequenceIterator.
| [in] | sequenceBegin | Iterator pointing to the begin of the sequence over which the subsequence iterator will iterate. |
| [in] | subsequenceIndicesBegin | Iterator pointing to the begin of the subsequence indices. They are used as indices for the complete sequence. |
| [in] | subsequenceIndicesPosition | Current position of the subsequence indices. |
Definition at line 364 of file subsequence_iterator.hxx.
|
inline |
Dereference operator.
Definition at line 422 of file subsequence_iterator.hxx.
|
inline |
Arithmetic operator to increment iterator by an integer value.
| [in] | n | The integer value by which the iterator will be incremented. |
Definition at line 389 of file subsequence_iterator.hxx.
|
inline |
Prefix increment operator.
Definition at line 378 of file subsequence_iterator.hxx.
|
inline |
Postfix increment operator.
Definition at line 384 of file subsequence_iterator.hxx.
|
inline |
Compound assignment operator to increment iterator by an integer value.
| [in] | n | The integer value by which the iterator will be incremented. |
Definition at line 394 of file subsequence_iterator.hxx.
|
inline |
Arithmetic operator to decrement iterator by an integer value.
Definition at line 411 of file subsequence_iterator.hxx.
|
inline |
Prefix decrement operator.
Definition at line 400 of file subsequence_iterator.hxx.
|
inline |
Postfix decrement operator.
Definition at line 406 of file subsequence_iterator.hxx.
|
inline |
Compound assignment operator to decrement iterator by an integer value.
| [in] | n | The integer value by which the iterator will be decremented. |
Definition at line 416 of file subsequence_iterator.hxx.
|
inline |
Pointer operator.
Definition at line 427 of file subsequence_iterator.hxx.
|
inline |
SubsequenceIterator assignment operator.
| [in] | copy | The iterator which will be copied. |
Definition at line 370 of file subsequence_iterator.hxx.
|
inline |
Offset dereference operator.
Definition at line 432 of file subsequence_iterator.hxx.
|
friend |
Inequality comparison operator for two SubsequenceIterator iterators.
| [in] | iter1 | First iterator. |
| [in] | iter2 | Second iterator. |
Definition at line 58 of file subsequence_iterator.hxx.
|
friend |
Difference operator for two subsequence iterators.
| [in] | iter1 | First iterator. |
| [in] | iter2 | Second iterator. |
Definition at line 73 of file subsequence_iterator.hxx.
|
friend |
Less comparison operator for two SubsequenceIterator iterators.
| [in] | iter1 | First iterator. |
| [in] | iter2 | Second iterator. |
Definition at line 61 of file subsequence_iterator.hxx.
|
friend |
Less or equal comparison operator for two SubsequenceIterator iterators.
| [in] | iter1 | First iterator. |
| [in] | iter2 | Second iterator. |
Definition at line 67 of file subsequence_iterator.hxx.
|
friend |
Equality comparison operator for two SubsequenceIterator iterators.
| [in] | iter1 | First iterator. |
| [in] | iter2 | Second iterator. |
Definition at line 55 of file subsequence_iterator.hxx.
|
friend |
Greater comparison operator for two SubsequenceIterator iterators.
| [in] | iter1 | First iterator. |
| [in] | iter2 | Second iterator. |
Definition at line 64 of file subsequence_iterator.hxx.
|
friend |
Greater or equal comparison operator for two SubsequenceIterator iterators.
| [in] | iter1 | First iterator. |
| [in] | iter2 | Second iterator. |
Definition at line 70 of file subsequence_iterator.hxx.
|
protected |
Iterator pointing to the begin of a sequence of values. The subsequence iterator will iterate over the elements of this sequence which are given by SubsequenceIterator::subsequenceIndicesBegin_.
Definition at line 50 of file subsequence_iterator.hxx.
|
protected |
Iterator pointing to the begin of a sequence where the indices for the elements of the subsequence are stored. Hence sequenceBegin_[subsequenceIndicesBegin_[n]] will give the n-th element of the subsequence.
Definition at line 51 of file subsequence_iterator.hxx.
|
protected |
Current Position of the iterator. Hence subsequenceIndicesPosition_ contains the number of the element of the subsequence at which the iterator is pointing at the moment.
Definition at line 52 of file subsequence_iterator.hxx.
1.8.9.1