Jpp 21.0.0-rc.3
the software that should make you happy
Loading...
Searching...
No Matches
JLANG::JSTDObjectReader< const T > Struct Template Reference

Specialisation of object iteration from STD container for constant data. More...

#include <JSTDObjectReader.hh>

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

Public Types

typedef JRewindableObjectReader< constT >::pointer_type pointer_type
 
typedef std::shared_ptr< JRewindableObjectIterator< T > > helper_type
 

Public Member Functions

 JSTDObjectReader ()
 Default constructor.
 
template<class JContainer_t >
 JSTDObjectReader (const JContainer_t &buffer)
 Constructor.
 
template<class JContainer_t >
void set (const JContainer_t &buffer)
 Set input buffer.
 
virtual JRewindableObjectIterator< T > * getHelper () const override
 Get helper.
 
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.
 
virtual void rewind () override
 Rewind.
 
bool is_valid () const
 Check validity of helper.
 

Private Attributes

pointer_type ps
 

Detailed Description

template<class T>
struct JLANG::JSTDObjectReader< const T >

Specialisation of object iteration from STD container for constant data.

Definition at line 116 of file JSTDObjectReader.hh.

Member Typedef Documentation

◆ pointer_type

template<class T >
JRewindableObjectReader<constT>::pointer_type JLANG::JSTDObjectReader< const T >::pointer_type

Definition at line 119 of file JSTDObjectReader.hh.

◆ helper_type

std::shared_ptr< JRewindableObjectIterator<T> > JLANG::JRewindableObjectReader< T >::helper_type
inherited

Definition at line 64 of file JObjectReader.hh.

Constructor & Destructor Documentation

◆ JSTDObjectReader() [1/2]

template<class T >
JLANG::JSTDObjectReader< const T >::JSTDObjectReader ( )
inline

Default constructor.

Definition at line 124 of file JSTDObjectReader.hh.

125 {}

◆ JSTDObjectReader() [2/2]

template<class T >
template<class JContainer_t >
JLANG::JSTDObjectReader< const T >::JSTDObjectReader ( const JContainer_t & buffer)
inline

Constructor.

Parameters
bufferinput buffer

Definition at line 134 of file JSTDObjectReader.hh.

135 {
136 this->reset(new JSTDObjectIterator<typename JContainer_t::const_iterator>(buffer.begin(), buffer.end()));
137 }
void reset(T &value)
Reset value.

Member Function Documentation

◆ set()

template<class T >
template<class JContainer_t >
void JLANG::JSTDObjectReader< const T >::set ( const JContainer_t & buffer)
inline

Set input buffer.

Parameters
bufferbuffer buffer

Definition at line 146 of file JSTDObjectReader.hh.

147 {
148 this->reset(new JSTDObjectIterator<typename JContainer_t::const_iterator>(buffer.begin(), buffer.end()));
149 }

◆ getHelper()

virtual JRewindableObjectIterator< T > * JLANG::JRewindableObjectReader< T >::getHelper ( ) const
inlineoverridevirtualinherited

Get helper.

Returns
helper

Implements JLANG::JAbstractRewindableObjectReader< T >.

Definition at line 79 of file JObjectReader.hh.

80 {
81 return this->get();
82 }

◆ 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 54 of file JAbstractObjectReader.hh.

55 {
56 return (this->is_valid() && this->getHelper()->hasNext());
57 }
bool is_valid() const
Check validity of helper.
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 65 of file JAbstractObjectReader.hh.

66 {
67 if (this->is_valid())
68 return this->getHelper()->next();
69 else
70 return ps;
71 }

◆ 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 80 of file JAbstractObjectReader.hh.

81 {
82 if (this->is_valid())
83 return this->getHelper()->skip(ns);
84 else
85 return 0;
86 }

◆ rewind()

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

Rewind.

Implements JLANG::JRewindable< T >.

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

Definition at line 115 of file JAbstractObjectReader.hh.

116 {
117 if (this->is_valid()) {
118 this->getHelper()->rewind();
119 }
120 }
virtual JRewindableObjectIterator< T > * getHelper() const override=0
Get helper.

◆ is_valid()

template<class T >
bool JLANG::JAbstractObjectReader< T >::is_valid ( ) const
inlineinherited

Check validity of helper.

Returns
true if helper not null; else false

Definition at line 35 of file JAbstractObjectReader.hh.

36 {
37 return this->getHelper() != NULL;
38 }

Member Data Documentation

◆ ps

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

Definition at line 89 of file JAbstractObjectReader.hh.


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