Jpp  debug
the software that should make you happy
Public Types | Public Member Functions | Static Public Member Functions | Static Protected Attributes | Private Attributes | List of all members
JLANG::JAbstractAccessibleObjectReader< T > Struct Template Referenceabstract

Abstract interface for object reading with named access. More...

#include <JAbstractObjectReader.hh>

Inheritance diagram for JLANG::JAbstractAccessibleObjectReader< T >:
JLANG::JAccessibleObjectIterator< T > JLANG::JAbstractObjectReader< T > JLANG::JObjectIterator< T > JLANG::JAccessible JLANG::JObjectIterator< T > JLANG::JThrow< JAccessible > JLANG::JAccessibleObjectReader< T > JSUPPORT::JFileScanner< T >

Public Types

typedef JPointer< T > pointer_type
 Type definition of pointer_type. More...
 
typedef JObjectIterator< T >::pointer_type pointer_type
 

Public Member Functions

virtual JAccessibleObjectIterator< T > * getHelper () const override=0
 Get helper. More...
 
virtual bool is_open () const override
 Check is device is open. More...
 
virtual void open (const char *file_name) override
 Open device. More...
 
virtual void close () override
 Close device. More...
 
virtual bool hasNext ()=0
 Check availability of next element. More...
 
virtual const pointer_typenext ()=0
 Get next element. More...
 
virtual skip_type skip (const skip_type ns)
 Skip items. 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) override
 Skip items. More...
 

Static Public Member Functions

static void Throw (const bool option)
 Enable/disable throw option. More...
 
static int Throw (const JException_t &error, const int value=-1)
 Throw exception or return error. More...
 

Static Protected Attributes

static bool do_throw
 throw option More...
 

Private Attributes

pointer_type ps
 

Detailed Description

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

Abstract interface for object reading with named access.

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

Definition at line 120 of file JAbstractObjectReader.hh.

Member Typedef Documentation

◆ pointer_type [1/2]

template<class T >
typedef JPointer<T> JLANG::JObjectIterator< T >::pointer_type
inherited

Type definition of pointer_type.

Definition at line 58 of file JObjectIterator.hh.

◆ pointer_type [2/2]

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

Definition at line 27 of file JAbstractObjectReader.hh.

Member Function Documentation

◆ getHelper()

template<class T >
virtual JAccessibleObjectIterator<T>* JLANG::JAbstractAccessibleObjectReader< T >::getHelper ( ) const
overridepure virtual

Get helper.

Returns
pointer to helper

Implements JLANG::JAbstractObjectReader< T >.

Implemented in JLANG::JAccessibleObjectReader< T >.

◆ is_open()

template<class T >
virtual bool JLANG::JAbstractAccessibleObjectReader< T >::is_open ( ) const
inlineoverridevirtual

Check is device is open.

Returns
true if open; else false

Implements JLANG::JAccessible.

Definition at line 137 of file JAbstractObjectReader.hh.

138  {
139  if (this->getHelper() != NULL)
140  return this->getHelper()->is_open();
141  else
142  return false;
143  }
virtual JAccessibleObjectIterator< T > * getHelper() const override=0
Get helper.

◆ open()

template<class T >
virtual void JLANG::JAbstractAccessibleObjectReader< T >::open ( const char *  file_name)
inlineoverridevirtual

Open device.

Parameters
file_namefile name

Implements JLANG::JAccessible.

Reimplemented in JSUPPORT::JFileScanner< T >.

Definition at line 151 of file JAbstractObjectReader.hh.

152  {
153  if (this->getHelper() != NULL) {
154  this->getHelper()->open(file_name);
155  }
156  }

◆ close()

template<class T >
virtual void JLANG::JAbstractAccessibleObjectReader< T >::close ( )
inlineoverridevirtual

Close device.

Implements JLANG::JAccessible.

Definition at line 162 of file JAbstractObjectReader.hh.

163  {
164  if (this->getHelper() != NULL) {
165  this->getHelper()->close();
166  }
167  }

◆ hasNext() [1/2]

template<class T >
virtual bool JLANG::JObjectIterator< T >::hasNext ( )
pure virtualinherited

◆ next() [1/2]

template<class T >
virtual const pointer_type& JLANG::JObjectIterator< T >::next ( )
pure virtualinherited

◆ skip() [1/2]

template<class T >
virtual skip_type JLANG::JObjectIterator< T >::skip ( const skip_type  ns)
inlinevirtualinherited

Skip items.

Parameters
nsnumber of items to skip
Returns
number of items skipped

Reimplemented in JLANG::JSTDObjectIterator< T >, JLANG::JPipe< T >, JLANG::JPipe< JTail_t >, JLANG::JPipe< JHead_t >, and JLANG::JAbstractObjectReader< T >.

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  }
virtual const pointer_type & next()=0
Get next element.
virtual bool hasNext()=0
Check availability of next element.
unsigned int skip_type
Type definition for number of objects to skip.
std::vector< size_t > ns

◆ Throw() [1/2]

static void JLANG::JThrow< JAccessible >::Throw ( const bool  option)
inlinestaticinherited

Enable/disable throw option.

Parameters
optiontrue enable; false disable

Definition at line 37 of file JThrow.hh.

38  {
39  do_throw = option;
40  }
static bool do_throw
throw option
Definition: JThrow.hh:28

◆ Throw() [2/2]

static int JLANG::JThrow< JAccessible >::Throw ( const JException_t &  error,
const int  value = -1 
)
inlinestaticinherited

Throw exception or return error.

Parameters
errorexception
valuereturn code
Returns
return code

Definition at line 51 of file JThrow.hh.

52  {
53  using namespace std;
54 
55  if (do_throw) {
56  throw error;
57  }
58 
59  cerr << error.what() << endl;
60 
61  return value;
62  }
Definition: JSTDTypes.hh:14

◆ hasNext() [2/2]

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 JObjectIterator< T > * getHelper() const =0
Get helper.
virtual bool hasNext() override
Check availability of next element.

◆ next() [2/2]

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() [2/2]

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

◆ do_throw

bool JLANG::JThrow< JAccessible >::do_throw
staticprotectedinherited

throw option

Set default throw option to true.

Definition at line 28 of file JThrow.hh.

◆ 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: