Jpp 19.3.0-rc.2
the software that should make you happy
Loading...
Searching...
No Matches
JLANG::JConversionIterator< JInput_t, JOutput_t > Class Template Reference

Interface for object iteration with type conversion. More...

#include <JConversionIterator.hh>

Inheritance diagram for JLANG::JConversionIterator< JInput_t, JOutput_t >:
JLANG::JObjectIterator< JOutput_t >

Public Types

typedef JObjectIterator< JOutput_t >::pointer_type pointer_type
 

Public Member Functions

 JConversionIterator (JObjectIterator< JInput_t > &input)
 Constructor.
 
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)
 Skip items.
 

Protected Attributes

JObjectIterator< JInput_t > & in
 

Private Attributes

pointer_type ps
 

Detailed Description

template<class JInput_t, class JOutput_t>
class JLANG::JConversionIterator< JInput_t, JOutput_t >

Interface for object iteration with type conversion.

Definition at line 20 of file JConversionIterator.hh.

Member Typedef Documentation

◆ pointer_type

template<class JInput_t , class JOutput_t >
JObjectIterator<JOutput_t>::pointer_type JLANG::JConversionIterator< JInput_t, JOutput_t >::pointer_type

Definition at line 25 of file JConversionIterator.hh.

Constructor & Destructor Documentation

◆ JConversionIterator()

template<class JInput_t , class JOutput_t >
JLANG::JConversionIterator< JInput_t, JOutput_t >::JConversionIterator ( JObjectIterator< JInput_t > & input)
inline

Constructor.

Parameters
inputinput iterator

Definition at line 33 of file JConversionIterator.hh.

33 :
34 in(input)
35 {}
JObjectIterator< JInput_t > & in

Member Function Documentation

◆ hasNext()

template<class JInput_t , class JOutput_t >
virtual bool JLANG::JConversionIterator< JInput_t, JOutput_t >::hasNext ( )
inlineoverridevirtual

Check availability of next element.

Returns
true if the iteration has more elements; else false

Implements JLANG::JObjectIterator< JOutput_t >.

Definition at line 43 of file JConversionIterator.hh.

44 {
45 return in.hasNext();
46 }
virtual bool hasNext()=0
Check availability of next element.

◆ next()

template<class JInput_t , class JOutput_t >
virtual const pointer_type & JLANG::JConversionIterator< JInput_t, JOutput_t >::next ( )
inlineoverridevirtual

Get next element.

Returns
pointer to element

Implements JLANG::JObjectIterator< JOutput_t >.

Definition at line 54 of file JConversionIterator.hh.

55 {
56 const JInput_t* p = in.next();
57
58 if (p != NULL)
59 ps.reset(new JOutput_t(*p)); // type conversion
60 else
61 ps.reset(NULL);
62
63 return ps;
64 }
virtual const pointer_type & next()=0
Get next element.
virtual void reset() override
Reset pointer.
Definition JPointer.hh:84

◆ skip()

virtual skip_type JLANG::JObjectIterator< JOutput_t >::skip ( const skip_type ns)
inlinevirtualinherited

Skip items.

Parameters
nsnumber of items to skip
Returns
number of items skipped

Definition at line 90 of file JObjectIterator.hh.

91 {
92 skip_type i = 0;
93
94 for ( ; i != ns && hasNext(); ++i) {
95 next();
96 }
97
98 return i;
99 }
unsigned int skip_type
Type definition for number of objects to skip.

Member Data Documentation

◆ in

template<class JInput_t , class JOutput_t >
JObjectIterator<JInput_t>& JLANG::JConversionIterator< JInput_t, JOutput_t >::in
protected

Definition at line 67 of file JConversionIterator.hh.

◆ ps

template<class JInput_t , class JOutput_t >
pointer_type JLANG::JConversionIterator< JInput_t, JOutput_t >::ps
private

Definition at line 69 of file JConversionIterator.hh.


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