Jpp  18.4.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Attributes | Private Attributes | List of all members
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. More...
 
virtual bool hasNext () override
 Check availability of next element. More...
 
virtual const pointer_typenext () override
 Get next element. More...
 
virtual skip_type skip (const skip_type ns)
 Skip items. More...
 

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

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

Definition at line 25 of file JConversionIterator.hh.

Constructor & Destructor Documentation

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

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  }
JObjectIterator< JInput_t > & in
virtual bool hasNext()=0
Check availability of next element.
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.
JObjectIterator< JInput_t > & in
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.
std::vector< size_t > ns
virtual const pointer_type & next()=0
Get next element.
virtual bool hasNext()=0
Check availability of next element.

Member Data Documentation

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.

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: