Jpp  17.3.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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< T >

Public Member Functions

virtual ~JBidirectionalIterator ()
 Virtual destructor. More...
 
Toperator-- ()
 Decrement iterator. More...
 
T operator-- (int)
 Decrement iterator. More...
 
Toperator-= (const size_t offset)
 Regress iterator. More...
 
virtual bool decrement ()=0
 Decrement iterator. More...
 
virtual bool decrement (const size_t offset)
 Decrement iterator. More...
 
Toperator++ ()
 Increment iterator. More...
 
T operator++ (int)
 Increment iterator. More...
 
Toperator+= (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

T 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

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

Virtual destructor.

Definition at line 27 of file JBidirectionalIterator.hh.

28  {}

Member Function Documentation

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  }
do set_variable OUTPUT_DIRECTORY $WORKDIR T
virtual bool decrement()=0
Decrement iterator.
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  }
do set_variable OUTPUT_DIRECTORY $WORKDIR T
virtual bool decrement()=0
Decrement iterator.
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  }
do set_variable OUTPUT_DIRECTORY $WORKDIR T
virtual bool decrement()=0
Decrement iterator.
template<class T >
virtual bool JLANG::JBidirectionalIterator< T >::decrement ( )
pure virtual

Decrement iterator.

Returns
true if decremented; else false

Implemented in JSUPPORT::JTreeScannerInterface< JClass_t, JNullType >::basic_iterator< T >.

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 >.

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  }
virtual bool decrement()=0
Decrement iterator.
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.
do set_variable OUTPUT_DIRECTORY $WORKDIR T
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  }
virtual bool increment()=0
Increment iterator.
do set_variable OUTPUT_DIRECTORY $WORKDIR T
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  }
virtual bool increment()=0
Increment iterator.
do set_variable OUTPUT_DIRECTORY $WORKDIR T
template<class T>
virtual bool JLANG::JForwardIterator< T >::increment ( )
pure virtualinherited
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 >.

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  }
virtual bool increment()=0
Increment iterator.

Friends And Related Function Documentation

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  }
do set_variable OUTPUT_DIRECTORY $WORKDIR T

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