Jpp  master_rocky-43-ge265d140c
the software that should make you happy
Public Member Functions | Friends | List of all members
JLANG::JBidirectionalIterator< T > Class Template Referenceabstract

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

#include <JBidirectionalIterator.hh>

Inheritance diagram for JLANG::JBidirectionalIterator< T >:
JLANG::JForwardIterator< T > JSUPPORT::JTreeScannerInterface< JClass_t, JNullType >::basic_iterator< iterator > JSUPPORT::JTreeScannerInterface< JClass_t, JNullType >::basic_iterator< reverse_iterator > JSUPPORT::JTreeScannerInterface< JClass_t, JNullType >::basic_iterator< T > JSUPPORT::JTreeScannerInterface< JClass_t, JNullType >::iterator JSUPPORT::JTreeScannerInterface< JClass_t, JNullType >::reverse_iterator

Public Member Functions

virtual ~JBidirectionalIterator ()
 Virtual destructor. More...
 
T & operator-- ()
 Decrement iterator. More...
 
operator-- (int)
 Decrement iterator. More...
 
T & operator-= (const size_t offset)
 Regress iterator. More...
 
virtual bool decrement ()=0
 Decrement iterator. More...
 
virtual bool decrement (const size_t offset)
 Decrement iterator. More...
 
T & operator++ ()
 Increment iterator. More...
 
operator++ (int)
 Increment iterator. More...
 
T & operator+= (const size_t offset)
 Advance iterator. More...
 
virtual bool increment ()=0
 Increment iterator. More...
 
virtual bool increment (const size_t offset)
 Increment iterator. More...
 

Friends

operator- (const T &object, const size_t offset)
 Regress operator. More...
 

Detailed Description

template<class T>
class JLANG::JBidirectionalIterator< T >

Template interface for method bool decrement().

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

Definition at line 20 of file JBidirectionalIterator.hh.

Constructor & Destructor Documentation

◆ ~JBidirectionalIterator()

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

Virtual destructor.

Definition at line 27 of file JBidirectionalIterator.hh.

28  {}

Member Function Documentation

◆ operator--() [1/2]

template<class T >
T& JLANG::JBidirectionalIterator< T >::operator-- ( )
inline

Decrement iterator.

Returns
this iterator

Definition at line 36 of file JBidirectionalIterator.hh.

37  {
38  this->decrement();
39 
40  return static_cast<T&>(*this);
41  }
virtual bool decrement()=0
Decrement iterator.

◆ operator--() [2/2]

template<class T >
T JLANG::JBidirectionalIterator< T >::operator-- ( int  )
inline

Decrement iterator.

Returns
decrement iterator

Definition at line 49 of file JBidirectionalIterator.hh.

50  {
51  const T tmp(static_cast<const T&>(*this));
52 
53  this->decrement();
54 
55  return tmp;
56  }

◆ operator-=()

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

Regress iterator.

Parameters
offsetoffset
Returns
iterator

Definition at line 65 of file JBidirectionalIterator.hh.

66  {
67  this->decrement(offset);
68 
69  return static_cast<T&>(*this);
70  }

◆ decrement() [1/2]

template<class T >
virtual bool JLANG::JBidirectionalIterator< T >::decrement ( )
pure virtual

◆ decrement() [2/2]

template<class T >
virtual bool JLANG::JBidirectionalIterator< T >::decrement ( const size_t  offset)
inlinevirtual

Decrement iterator.

Parameters
offsetoffset
Returns
true if decremented; 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 104 of file JBidirectionalIterator.hh.

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

◆ operator++() [1/2]

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

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  )
inlineinherited

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)
inlineinherited

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 virtualinherited

Increment iterator.

Returns
true if incremented; else false

Implemented in 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< reverse_iterator, 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< const_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, 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 >, JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JTail_t >, JDistance_t >::reverse_iterator_helper< reverse_iterator, mapped_type::super_reverse_iterator >, 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< iterator, mapped_type::super_iterator >, JTOOLS::JMultiMap< JAbscissa_t, JOrdinate_t, JMapList< JHead_t, JTail_t >, JDistance_t >::iterator_helper< const_iterator, mapped_type::super_const_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, 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 >.

◆ increment() [2/2]

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

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 Function Documentation

◆ operator-

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

Regress operator.

Parameters
objectiterator
offsetoffset
Returns
iterator

Definition at line 80 of file JBidirectionalIterator.hh.

81  {
82  T tmp(object);
83 
84  tmp.decrement(offset);
85 
86  return tmp;
87  }

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