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

Abstract interface for object reading with rewinding. More...

#include <JAbstractObjectReader.hh>

Inheritance diagram for JLANG::JAbstractRewindableObjectReader< T >:
JLANG::JRewindableObjectIterator< T > JLANG::JAbstractObjectReader< T > JLANG::JObjectIterator< T > JLANG::JRewindable< T > JLANG::JObjectIterator< T > JLANG::JRewindableObjectReader< const T > JLANG::JRewindableObjectReader< T > JLANG::JSTDObjectReader< const T > JLANG::JSTDObjectReader< T >

Public Types

typedef JObjectIterator< T >::pointer_type pointer_type
 

Public Member Functions

virtual JRewindableObjectIterator< T > * getHelper () const override=0
 Get helper.
 
virtual void rewind () override
 Rewind.
 
virtual bool hasNext () override
 Check availability of next element.
 
virtual const pointer_typenext () override
 Get next element.
 
virtual skip_type skip (const skip_type ns) override
 Skip items.
 

Private Attributes

pointer_type ps
 

Detailed Description

template<class T>
struct JLANG::JAbstractRewindableObjectReader< T >

Abstract interface for object reading with rewinding.

This class implements the JRewindableObjectIterator interface by transferring the interface methods to a helper object via a single interface method getHelper().

Definition at line 89 of file JAbstractObjectReader.hh.

Member Typedef Documentation

◆ pointer_type

template<class T >
JObjectIterator<T>::pointer_type JLANG::JAbstractObjectReader< T >::pointer_type
inherited

Definition at line 27 of file JAbstractObjectReader.hh.

Member Function Documentation

◆ getHelper()

◆ rewind()

template<class T >
virtual void JLANG::JAbstractRewindableObjectReader< T >::rewind ( )
inlineoverridevirtual

Rewind.

Implements JLANG::JRewindable< T >.

Reimplemented in JLANG::JSTDObjectReader< JTypeList< JHead_t, JTail_t > >.

Definition at line 104 of file JAbstractObjectReader.hh.

105 {
106 if (this->getHelper() != NULL) {
107 this->getHelper()->rewind();
108 }
109 }
virtual JRewindableObjectIterator< T > * getHelper() const override=0
Get helper.

◆ hasNext()

template<class T >
virtual bool JLANG::JAbstractObjectReader< T >::hasNext ( )
inlineoverridevirtualinherited

Check availability of next element.

Returns
true if the iteration has more elements; else false

Implements JLANG::JObjectIterator< T >.

Definition at line 43 of file JAbstractObjectReader.hh.

44 {
45 return (this->getHelper() != NULL && this->getHelper()->hasNext());
46 }
virtual bool hasNext() override
Check availability of next element.
virtual JObjectIterator< T > * getHelper() const =0
Get helper.

◆ next()

template<class T >
virtual const pointer_type & JLANG::JAbstractObjectReader< T >::next ( )
inlineoverridevirtualinherited

Get next element.

Returns
pointer to element

Implements JLANG::JObjectIterator< T >.

Definition at line 54 of file JAbstractObjectReader.hh.

55 {
56 if (this->getHelper() != NULL)
57 return this->getHelper()->next();
58 else
59 return ps;
60 }

◆ skip()

template<class T >
virtual skip_type JLANG::JAbstractObjectReader< T >::skip ( const skip_type ns)
inlineoverridevirtualinherited

Skip items.

Parameters
nsnumber of items to skip
Returns
number of items skipped

Reimplemented from JLANG::JObjectIterator< T >.

Definition at line 69 of file JAbstractObjectReader.hh.

70 {
71 if (this->getHelper() != NULL)
72 return this->getHelper()->skip(ns);
73 else
74 return 0;
75 }

Member Data Documentation

◆ ps

template<class T >
pointer_type JLANG::JAbstractObjectReader< T >::ps
privateinherited

Definition at line 78 of file JAbstractObjectReader.hh.


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