Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JLANG::JForwardIterator< T > Class Template Referenceabstract

Template interface for method bool increment(). More...

#include <JForwardIterator.hh>

Inheritance diagram for JLANG::JForwardIterator< T >:
JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JLANG::JNullType >, JDistance_t >::iterator_helper< const_iterator, const ordinate_type & > JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JLANG::JNullType >, JDistance_t >::iterator_helper< const_reverse_iterator, const ordinate_type & > JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JLANG::JNullType >, JDistance_t >::iterator_helper< iterator, ordinate_type & > JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JLANG::JNullType >, JDistance_t >::iterator_helper< reverse_iterator, ordinate_type & > JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JTail_t >, JDistance_t >::iterator_helper< const_iterator, mapped_type::super_const_iterator > JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JTail_t >, JDistance_t >::iterator_helper< iterator, mapped_type::super_iterator > JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JTail_t >, JDistance_t >::reverse_iterator_helper< const_reverse_iterator, mapped_type::super_const_reverse_iterator > JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JTail_t >, JDistance_t >::reverse_iterator_helper< reverse_iterator, mapped_type::super_reverse_iterator > JLANG::JBidirectionalIterator< T > JTOOLS::JHashMap< JTypeList< JHead_t, JNullType >, JValue_t, JEvaluator_t >::super_const_iterator JTOOLS::JHashMap< JTypeList< JHead_t, JNullType >, JValue_t, JEvaluator_t >::super_iterator JTOOLS::JHashMap< JTypeList< JHead_t, JTail_t >, JValue_t, JEvaluator_t >::super_const_iterator JTOOLS::JHashMap< JTypeList< JHead_t, JTail_t >, JValue_t, JEvaluator_t >::super_iterator JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JLANG::JNullType >, JDistance_t >::iterator_helper< iterator_type, ordinate_type > JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JTail_t >, JDistance_t >::iterator_helper< first_iterator, second_iterator > JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JTail_t >, JDistance_t >::reverse_iterator_helper< first_iterator, second_iterator >

Public Member Functions

virtual ~JForwardIterator ()
 Virtual destructor.
 
T & operator++ ()
 Increment iterator.
 
operator++ (int)
 Increment iterator.
 
T & operator+= (const size_t offset)
 Advance iterator.
 
virtual bool increment ()=0
 Increment iterator.
 
virtual bool increment (const size_t offset)
 Increment iterator.
 

Friends

operator+ (const T &object, const size_t offset)
 Advance operator.
 

Detailed Description

template<class T>
class JLANG::JForwardIterator< T >

Template interface for method bool increment().

This interface implements the pre-fix and post-fix operators ++.

Definition at line 20 of file JForwardIterator.hh.

Constructor & Destructor Documentation

◆ ~JForwardIterator()

template<class T >
virtual JLANG::JForwardIterator< T >::~JForwardIterator ( )
inlinevirtual

Virtual destructor.

Definition at line 25 of file JForwardIterator.hh.

26 {}

Member Function Documentation

◆ operator++() [1/2]

template<class T >
T & JLANG::JForwardIterator< T >::operator++ ( )
inline

Increment iterator.

Returns
this iterator

Definition at line 34 of file JForwardIterator.hh.

35 {
36 this->increment();
37
38 return static_cast<T&>(*this);
39 }
virtual bool increment()=0
Increment iterator.

◆ operator++() [2/2]

template<class T >
T JLANG::JForwardIterator< T >::operator++ ( int )
inline

Increment iterator.

Returns
previous iterator

Definition at line 47 of file JForwardIterator.hh.

48 {
49 const T tmp(static_cast<const T&>(*this));
50
51 this->increment();
52
53 return tmp;
54 }

◆ operator+=()

template<class T >
T & JLANG::JForwardIterator< T >::operator+= ( const size_t offset)
inline

Advance iterator.

Parameters
offsetoffset
Returns
iterator

Definition at line 63 of file JForwardIterator.hh.

64 {
65 this->increment(offset);
66
67 return static_cast<T&>(*this);
68 }

◆ increment() [1/2]

template<class T >
virtual bool JLANG::JForwardIterator< T >::increment ( )
pure virtual

Increment iterator.

Returns
true if incremented; else false

Implemented in JSUPPORT::JTreeScannerInterface< JClass_t, JNullType >::basic_iterator< T >, JSUPPORT::JTreeScannerInterface< JClass_t, JNullType >::basic_iterator< iterator >, JSUPPORT::JTreeScannerInterface< JClass_t, JNullType >::basic_iterator< reverse_iterator >, JTOOLS::JHashMap< JTypeList< JHead_t, JNullType >, JValue_t, JEvaluator_t >::super_const_iterator, JTOOLS::JHashMap< JTypeList< JHead_t, JNullType >, JValue_t, JEvaluator_t >::super_iterator, JTOOLS::JHashMap< JTypeList< JHead_t, JTail_t >, JValue_t, JEvaluator_t >::super_const_iterator, JTOOLS::JHashMap< JTypeList< JHead_t, JTail_t >, JValue_t, JEvaluator_t >::super_iterator, JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JLANG::JNullType >, JDistance_t >::iterator_helper< iterator_type, ordinate_type >, JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JLANG::JNullType >, JDistance_t >::iterator_helper< const_iterator, const ordinate_type & >, JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JLANG::JNullType >, JDistance_t >::iterator_helper< const_reverse_iterator, const ordinate_type & >, JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JLANG::JNullType >, JDistance_t >::iterator_helper< iterator, ordinate_type & >, JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JLANG::JNullType >, JDistance_t >::iterator_helper< reverse_iterator, ordinate_type & >, JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JTail_t >, JDistance_t >::iterator_helper< first_iterator, second_iterator >, JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JTail_t >, JDistance_t >::iterator_helper< const_iterator, mapped_type::super_const_iterator >, JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JTail_t >, JDistance_t >::iterator_helper< iterator, mapped_type::super_iterator >, JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JTail_t >, JDistance_t >::reverse_iterator_helper< first_iterator, second_iterator >, JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JTail_t >, JDistance_t >::reverse_iterator_helper< const_reverse_iterator, mapped_type::super_const_reverse_iterator >, and JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JTail_t >, JDistance_t >::reverse_iterator_helper< reverse_iterator, mapped_type::super_reverse_iterator >.

◆ increment() [2/2]

template<class T >
virtual bool JLANG::JForwardIterator< T >::increment ( const size_t offset)
inlinevirtual

Increment iterator.

Parameters
offsetoffset
Returns
true if incremented; else false

Reimplemented in JSUPPORT::JTreeScannerInterface< JClass_t, JNullType >::basic_iterator< T >, JSUPPORT::JTreeScannerInterface< JClass_t, JNullType >::basic_iterator< iterator >, and JSUPPORT::JTreeScannerInterface< JClass_t, JNullType >::basic_iterator< reverse_iterator >.

Definition at line 102 of file JForwardIterator.hh.

103 {
104 size_t i = 0;
105
106 while (i != offset && this->increment()) {
107 ++i;
108 }
109
110 return i == offset;
111 }

Friends And Related Symbol Documentation

◆ operator+

template<class T >
T operator+ ( const T & object,
const size_t offset )
friend

Advance operator.

Parameters
objectiterator
offsetoffset
Returns
iterator

Definition at line 78 of file JForwardIterator.hh.

79 {
80 T tmp(object);
81
82 tmp.increment(offset);
83
84 return tmp;
85 }

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