Jpp  15.0.3
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
JSUPPORT::JFileScanner< T > Class Template Referenceabstract

Object reading from file. More...

#include <JFileScanner.hh>

Inheritance diagram for JSUPPORT::JFileScanner< T >:
JLANG::JAccessibleObjectReader< T > JLANG::JAccessibleObjectIterator< T > JLANG::JAbstractAccessibleObjectReader< T > JLANG::JSharedPointer< JAccessibleObjectIterator< T > > JLANG::JObjectIterator< T > JLANG::JAccessible JLANG::JAccessibleObjectIterator< T > JLANG::JAbstractObjectReader< T > JLANG::JSharedCounter JLANG::JStorage< JAccessibleObjectIterator< T >, JNew > JLANG::JThrow< JAccessible > JLANG::JObjectIterator< T > JLANG::JAccessible JLANG::JObjectIterator< T > JLANG::JPointer< JAccessibleObjectIterator< T > > JLANG::JNew< JAccessibleObjectIterator< T > > JLANG::JThrow< JAccessible > JLANG::JAbstractPointer< JAccessibleObjectIterator< T > > JLANG::JEquals< JAbstractPointer< JAccessibleObjectIterator< T > > >

Public Types

typedef
JAccessibleObjectReader< T >
::helper_type 
helper_type
 
typedef JObjectIterator< T >
::pointer_type 
pointer_type
 
typedef JStorage
< JAccessibleObjectIterator< T >
, JNew
storage_type
 
typedef JNew
< JAccessibleObjectIterator< T > > 
memory_type
 

Public Member Functions

 JFileScanner ()
 Default constructor. More...
 
 JFileScanner (const char *file_name)
 Constructor. More...
 
 ~JFileScanner ()
 Destructor. More...
 
virtual void open (const char *file_name) override
 Open file. More...
 
virtual
JAccessibleObjectIterator< T > * 
getHelper () const override
 Get helper. More...
 
virtual bool hasNext ()=0
 Check availability of next element. More...
 
virtual bool hasNext () override
 Check availability of next element. More...
 
virtual const pointer_typenext ()=0
 Get next element. More...
 
virtual const pointer_typenext () override
 Get next element. More...
 
virtual skip_type skip (const skip_type ns)
 Skip items. More...
 
virtual skip_type skip (const skip_type ns) override
 Skip items. More...
 
virtual bool is_open () const =0
 Check is device is open. More...
 
virtual bool is_open () const override
 Check is device is open. More...
 
virtual void close ()=0
 Close device. More...
 
virtual void close () override
 Close device. More...
 
const JSharedPointergetSharedPointer () const
 Get shared pointer. More...
 
JSharedPointergetSharedPointer ()
 Get shared pointer. More...
 
void setSharedPointer (const JSharedPointer &object)
 Set shared pointer. More...
 
virtual void reset () override
 Reset pointer. More...
 
void reset (const JPointer< T > &pointer)
 Reset pointer. More...
 
void reset (JAccessibleObjectIterator< T > *p)
 Reset pointer. More...
 
void set (const JPointer< T > &pointer)
 Set pointer. More...
 
void initialise ()
 Initialise counter. More...
 
void attach (const JSharedCounter &object)
 Attach this counter to given shared counter object. More...
 
bool detach ()
 Detach. More...
 
const int getCount ()
 Get count. More...
 
void recreate ()
 Recreate object in memory. More...
 
void create ()
 Create object in memory. More...
 
void create (const unsigned int size)
 Create array of objects in memory. More...
 
virtual
JAccessibleObjectIterator< T > * 
get () const override
 Get pointer. More...
 
JAccessibleObjectIterator< T >
*const & 
getReference () const
 Get rereference to internal pointer. More...
 
JAccessibleObjectIterator< T > *& getReference ()
 Get rereference to internal pointer. More...
 
virtual bool equals (const JAbstractPointer &object) const
 Equals. More...
 
bool is_valid () const
 Check validity of pointer. More...
 
JAccessibleObjectIterator< T > * operator-> () const
 Smart pointer operator. More...
 
 operator JAccessibleObjectIterator< T > * () const
 Type conversion operator. More...
 

Static Public Member Functions

static void Throw (const bool option)
 Enable/disable throw option. More...
 
static int Throw (const JException &error, const int value=-1)
 Throw exception or return error. More...
 
static void release (JAccessibleObjectIterator< T > *p)
 Release memory. More...
 

Protected Member Functions

void set (const JSharedPointer &object)
 Set pointer. More...
 
virtual void set (JAccessibleObjectIterator< T > *p) override
 Set pointer. More...
 
void release ()
 Release memory. More...
 

Protected Attributes

int * counter
 
JAccessibleObjectIterator< T > * __p
 pointer to object More...
 

Static Protected Attributes

static bool do_throw
 throw option More...
 

Detailed Description

template<class T>
class JSUPPORT::JFileScanner< T >

Object reading from file.

This class implements the method open of the JLANG::JAccessible interface. The file format is derived from the file name extension.

Definition at line 36 of file JFileScanner.hh.

Member Typedef Documentation

Definition at line 41 of file JFileScanner.hh.

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

Definition at line 98 of file JObjectReader.hh.

Definition at line 35 of file JSharedPointer.hh.

Definition at line 33 of file JStorage.hh.

Constructor & Destructor Documentation

template<class T>
JSUPPORT::JFileScanner< T >::JFileScanner ( )
inline

Default constructor.

Definition at line 46 of file JFileScanner.hh.

47  {}
template<class T>
JSUPPORT::JFileScanner< T >::JFileScanner ( const char *  file_name)
inline

Constructor.

Parameters
file_namefile name

Definition at line 55 of file JFileScanner.hh.

56  {
57  open(file_name);
58  }
virtual void open(const char *file_name) override
Open file.
Definition: JFileScanner.hh:77
template<class T>
JSUPPORT::JFileScanner< T >::~JFileScanner ( )
inline

Destructor.

Definition at line 64 of file JFileScanner.hh.

65  {
66  if (this->is_open()) {
67  this->close();
68  }
69  }
virtual bool is_open() const override
Check is device is open.
virtual void close() override
Close device.

Member Function Documentation

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

Open file.

Parameters
file_namefile name

Reimplemented from JLANG::JAbstractAccessibleObjectReader< T >.

Definition at line 77 of file JFileScanner.hh.

78  {
79  using namespace std;
80  using namespace JPP;
81 
82  JAccessible::Throw(true);
83 
84  if (getProtocol(file_name) == ROOT_FILE_FORMAT)
85  this->reset(new JRootFileReader<T>());
86  else if (getFilenameExtension(file_name) == ROOT_FILE_FORMAT)
87  this->reset(new JRootFileReader<T>());
88  else if (getFilenameExtension(file_name) == DAQ_FILE_FORMAT)
89  this->reset(new JDAQFileReader<T>());
90  else if (getFilenameExtension(file_name) == MONTE_CARLO_FILE_FORMAT)
92  else if (getFilenameExtension(file_name) == GZIP_FILE_FORMAT)
93  this->reset(new JMonteCarloGZFileReader<T>());
94  else
95  this->Throw(JProtocolException(MAKE_STRING("Protocol not defined: " << file_name)));
96 
97  if (this->is_valid()) {
98 
99  this->get()->open(file_name);
100 
101  if (!this->get()->is_open()) {
102  if (getFilenameExtension(file_name) != ROOT_FILE_FORMAT) {
103  JAccessible::Throw(JFileOpenException("File not opened."));
104  }
105  }
106  }
107  }
Exception for opening of file.
Definition: JException.hh:342
static const char *const GZIP_FILE_FORMAT
file name extension gzip format
static const char *const MONTE_CARLO_FILE_FORMAT
file name extension ASCII format
Template definition of Monte Carlo object reader for gzipped ASCII formatted file (i...
bool is_valid() const
Check validity of pointer.
#define MAKE_STRING(A)
Make string.
Definition: JPrint.hh:142
Template definition of Monte Carlo object reader for ASCII formatted file (i.e. &#39;.evt&#39;)
virtual void open(const char *file_name) override
Open file.
Definition: JFileScanner.hh:77
static const char *const DAQ_FILE_FORMAT
file name extension DAQ binary format
Protocol exception.
Definition: JException.hh:648
std::string getProtocol(const std::string &file_name)
Get protocol, i.e. part before first JEEP::PROTOCOL_SEPARATOR if any.
Definition: JeepToolkit.hh:263
DAQ object reading from binary file (i.e. .dat).
std::string getFilenameExtension(const std::string &file_name)
Get file name extension, i.e. part after last JEEP::FILENAME_SEPARATOR if any.
Definition: JeepToolkit.hh:69
virtual void reset() override
Reset pointer.
static const char *const ROOT_FILE_FORMAT
file name extension ROOT format
ROOT file reader.
static void Throw(const bool option)
Enable/disable throw option.
Definition: JThrow.hh:37
template<class T>
virtual JAccessibleObjectIterator<T>* JLANG::JAccessibleObjectReader< T >::getHelper ( ) const
inlineoverridevirtualinherited

Get helper.

Returns
helper

Implements JLANG::JAbstractAccessibleObjectReader< T >.

Definition at line 112 of file JObjectReader.hh.

113  {
114  return this->get();
115  }
template<class T>
virtual bool JLANG::JObjectIterator< T >::hasNext ( )
pure virtualinherited

Check availability of next element.

Returns
true if the iteration has more elements; else false

Implemented in JSUPPORT::JMultipleFileScanner< T >, JSUPPORT::JMultipleFileScanner<>, JSUPPORT::JMultipleFileScanner< JTail_t >, JSUPPORT::JMultipleFileScanner< JHead_t >, JSUPPORT::JMultipleFileScanner< KM3NETDAQ::KM3NETDAQ::JDAQEvent >, JSUPPORT::JMultipleFileScanner< JDAQSummaryslice >, JLANG::JNullIterator< T >, JSUPPORT::JSingleFileScanner< T >, JSUPPORT::JSingleFileScanner<>, JSUPPORT::JSingleFileScanner< JTail_t >, JSUPPORT::JSingleFileScanner< JHead_t >, JLANG::JObjectMultiplexer< JTypeList< JHead_t, JTail_t >, JBase_t >, JROOT::JRootFileReader< T, false >, JROOT::JMarkerAttributes, JROOT::JLineAttributes, JLANG::JObjectSampler< T, JSampler_t >, JLANG::JObjectSampler< JDAQSummaryslice, JRandomSampler >, JLANG::JPipe< T >, JLANG::JSTDObjectIterator< T >, JLANG::JPipe< JTail_t >, JLANG::JPipe< JHead_t >, JROOT::JTreeReaderObjectIterator< T >, JLANG::JObjectMultiplexer< JDerived_t, JBase_t >, JLANG::JObjectMultiplexer< JHead_t, JBase_t >, JLANG::JObjectMultiplexer< JTail_t, JBase_t >, JLANG::JAbstractObjectIterator< T >, JLANG::JAbstractObjectIterator< Head >, JLANG::JAbstractObjectIterator< JTail_t >, JLANG::JAbstractObjectIterator< JHead_t >, JLANG::JAbstractObjectIterator< JTriggerParameters >, JLANG::JAbstractObjectIterator< JPhotonPath >, JLANG::JAbstractObjectReader< T >, JLANG::JConversionIterator< JInput_t, JOutput_t >, JLANG::JAbstractObjectReader< JNullType >, JLANG::JAbstractObjectReader< const T >, JLANG::JAbstractObjectReader< JTail_t >, JLANG::JAbstractObjectReader< JHead_t >, JLANG::JAbstractObjectReader< KM3NETDAQ::KM3NETDAQ::JDAQEvent >, and JLANG::JAbstractObjectReader< JDAQSummaryslice >.

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.
template<class T>
virtual const pointer_type& JLANG::JObjectIterator< T >::next ( )
pure virtualinherited

Get next element.

Returns
pointer to element

Implemented in JSUPPORT::JMultipleFileScanner< T >, JSUPPORT::JMultipleFileScanner<>, JSUPPORT::JMultipleFileScanner< JTail_t >, JSUPPORT::JMultipleFileScanner< JHead_t >, JSUPPORT::JMultipleFileScanner< KM3NETDAQ::KM3NETDAQ::JDAQEvent >, JSUPPORT::JMultipleFileScanner< JDAQSummaryslice >, JLANG::JNullIterator< T >, JSUPPORT::JSingleFileScanner< T >, JSUPPORT::JSingleFileScanner<>, JSUPPORT::JSingleFileScanner< JTail_t >, JSUPPORT::JSingleFileScanner< JHead_t >, JLANG::JObjectMultiplexer< JTypeList< JHead_t, JTail_t >, JBase_t >, JROOT::JRootFileReader< T, false >, JLANG::JObjectSampler< T, JSampler_t >, JLANG::JObjectSampler< JDAQSummaryslice, JRandomSampler >, JROOT::JMarkerAttributes, JLANG::JPipe< T >, JLANG::JPipe< JTail_t >, JLANG::JPipe< JHead_t >, JROOT::JLineAttributes, JROOT::JTreeReaderObjectIterator< T >, JLANG::JSTDObjectIterator< T >, JLANG::JObjectMultiplexer< JDerived_t, JBase_t >, JLANG::JObjectMultiplexer< JHead_t, JBase_t >, JLANG::JObjectMultiplexer< JTail_t, JBase_t >, JLANG::JAbstractObjectIterator< T >, JLANG::JAbstractObjectIterator< Head >, JLANG::JAbstractObjectIterator< JTail_t >, JLANG::JAbstractObjectIterator< JHead_t >, JLANG::JAbstractObjectIterator< JTriggerParameters >, JLANG::JAbstractObjectIterator< JPhotonPath >, JLANG::JAbstractObjectReader< T >, JLANG::JConversionIterator< JInput_t, JOutput_t >, JLANG::JAbstractObjectReader< JNullType >, JLANG::JAbstractObjectReader< const T >, JLANG::JAbstractObjectReader< JTail_t >, JLANG::JAbstractObjectReader< JHead_t >, JLANG::JAbstractObjectReader< KM3NETDAQ::KM3NETDAQ::JDAQEvent >, and JLANG::JAbstractObjectReader< JDAQSummaryslice >.

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  }
virtual JObjectIterator< T > * getHelper() const =0
Get helper.
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::JPipe< T >, JLANG::JPipe< JTail_t >, JLANG::JPipe< JHead_t >, JLANG::JSTDObjectIterator< T >, JLANG::JAbstractObjectReader< T >, JLANG::JAbstractObjectReader< JNullType >, JLANG::JAbstractObjectReader< const T >, JLANG::JAbstractObjectReader< JTail_t >, JLANG::JAbstractObjectReader< JHead_t >, JLANG::JAbstractObjectReader< KM3NETDAQ::KM3NETDAQ::JDAQEvent >, and JLANG::JAbstractObjectReader< JDAQSummaryslice >.

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.
virtual const pointer_type & next()=0
Get next element.
virtual bool hasNext()=0
Check availability of next element.
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  }
virtual JObjectIterator< T > * getHelper() const =0
Get helper.
virtual bool JLANG::JAccessible::is_open ( ) const
pure virtualinherited
template<class T>
virtual bool JLANG::JAbstractAccessibleObjectReader< T >::is_open ( ) const
inlineoverridevirtualinherited

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 =0
Get helper.
virtual void JLANG::JAccessible::close ( )
pure virtualinherited
template<class T>
virtual void JLANG::JAbstractAccessibleObjectReader< T >::close ( )
inlineoverridevirtualinherited

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  }
virtual JAccessibleObjectIterator< T > * getHelper() const =0
Get helper.
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
static int JLANG::JThrow< JAccessible >::Throw ( const JException error,
const int  value = -1 
)
inlinestaticinherited

Throw exception or return error.

Parameters
errorexception
valuereturn code
Returns
return code

Definition at line 50 of file JThrow.hh.

51  {
52  using namespace std;
53 
54  if (do_throw) {
55  throw error;
56  }
57 
58  cerr << error.what() << endl;
59 
60  return value;
61  }
virtual const char * what() const override
Get error message.
Definition: JException.hh:48
static bool do_throw
throw option
Definition: JThrow.hh:28
const JSharedPointer& JLANG::JSharedPointer< JAccessibleObjectIterator< T > , JNew >::getSharedPointer ( ) const
inlineinherited

Get shared pointer.

Returns
this shared pointer

Definition at line 95 of file JSharedPointer.hh.

96  {
97  return static_cast<const JSharedPointer&>(*this);
98  }
The template JSharedPointer class can be used to share a pointer to an object.
JSharedPointer& JLANG::JSharedPointer< JAccessibleObjectIterator< T > , JNew >::getSharedPointer ( )
inlineinherited

Get shared pointer.

Returns
this shared pointer

Definition at line 106 of file JSharedPointer.hh.

107  {
108  return static_cast<JSharedPointer&>(*this);
109  }
The template JSharedPointer class can be used to share a pointer to an object.
void JLANG::JSharedPointer< JAccessibleObjectIterator< T > , JNew >::setSharedPointer ( const JSharedPointer< JAccessibleObjectIterator< T > > &  object)
inlineinherited

Set shared pointer.

Parameters
objectshared pointer

Definition at line 117 of file JSharedPointer.hh.

118  {
119  if (this->get() != object.get()) {
120 
121  this->reset();
122 
123  if (object.is_valid()) {
124  this->set(object);
125  }
126  }
127  }
void set(const JSharedPointer &object)
Set pointer.
bool is_valid() const
Check validity of pointer.
virtual void reset() override
Reset pointer.
virtual void JLANG::JSharedPointer< JAccessibleObjectIterator< T > , JNew >::reset ( )
inlineoverridevirtualinherited

Reset pointer.

The reference counter is decremented by one and the object pointed to previously is deleted when its reference counter is zero.

Reimplemented from JLANG::JStorage< JAccessibleObjectIterator< T >, JNew >.

Definition at line 171 of file JSharedPointer.hh.

172  {
173  if (this->detach()) {
175  }
176 
178  }
void reset(T &value)
Reset value.
bool detach()
Detach.
void JLANG::JPointer< JAccessibleObjectIterator< T > >::reset ( const JPointer< T > &  pointer)
inlineinherited

Reset pointer.

Parameters
pointerpointer to object

Definition at line 108 of file JPointer.hh.

109  {
110  this->reset(pointer.get());
111  }
virtual JClass_t * get() const override
Get pointer.
Definition: JPointer.hh:64
virtual void reset() override
Reset pointer.
Definition: JPointer.hh:84
void JLANG::JAbstractPointer< JAccessibleObjectIterator< T > >::reset ( JAccessibleObjectIterator< T > *  p)
inlineinherited

Reset pointer.

Parameters
ppointer to object

Definition at line 94 of file JAbstractPointer.hh.

95  {
96  if (this->get() != p) {
97 
98  this->reset();
99 
100  if (p != NULL) {
101  this->set(p);
102  }
103  }
104  }
virtual void set(JAccessibleObjectIterator< T > *p)=0
Set pointer.
void JLANG::JSharedPointer< JAccessibleObjectIterator< T > , JNew >::set ( const JSharedPointer< JAccessibleObjectIterator< T > > &  object)
inlineprotectedinherited

Set pointer.

The reference counter of the shared object pointed to is incremented by one.

Parameters
objectshared pointer

Definition at line 188 of file JSharedPointer.hh.

189  {
190  pointer_type::set(object.get());
191 
192  this->attach(object);
193  }
void attach(const JSharedCounter &object)
Attach this counter to given shared counter object.
virtual void JLANG::JSharedPointer< JAccessibleObjectIterator< T > , JNew >::set ( JAccessibleObjectIterator< T > *  p)
inlineoverrideprotectedvirtualinherited

Set pointer.

The reference counter of the shared object pointed to is initialised to one.

Parameters
ppointer to derived class object

Reimplemented from JLANG::JPointer< JAccessibleObjectIterator< T > >.

Definition at line 202 of file JSharedPointer.hh.

203  {
204  pointer_type::set(p);
205 
206  this->initialise();
207  }
void initialise()
Initialise counter.
void JLANG::JPointer< JAccessibleObjectIterator< T > >::set ( const JPointer< T > &  pointer)
inlineinherited

Set pointer.

Parameters
pointerpointer to object

Definition at line 96 of file JPointer.hh.

97  {
98  this->set(pointer.get());
99  }
virtual void set(JAccessibleObjectIterator< T > *p) override
Set pointer.
Definition: JPointer.hh:75
virtual JClass_t * get() const override
Get pointer.
Definition: JPointer.hh:64
void JLANG::JSharedCounter::initialise ( )
inlineinherited

Initialise counter.

Definition at line 33 of file JSharedCounter.hh.

34  {
35  detach();
36 
37  counter = new int(1);
38  }
bool detach()
Detach.
void JLANG::JSharedCounter::attach ( const JSharedCounter object)
inlineinherited

Attach this counter to given shared counter object.

Parameters
objectshared counter

Definition at line 46 of file JSharedCounter.hh.

47  {
48  detach();
49 
50  counter = object.counter;
51 
52  if (counter != NULL) {
53  ++(*counter);
54  }
55  }
bool detach()
Detach.
bool JLANG::JSharedCounter::detach ( )
inlineinherited

Detach.

Returns
true if counter at zero; else false

Definition at line 63 of file JSharedCounter.hh.

64  {
65  if (counter != NULL) {
66 
67  if (--(*counter) == 0) {
68 
69  delete counter;
70 
71  counter = NULL;
72 
73  return true;
74  }
75 
76  counter = NULL;
77  }
78 
79  return false;
80  }
const int JLANG::JSharedCounter::getCount ( )
inlineinherited

Get count.

Returns
count

Definition at line 88 of file JSharedCounter.hh.

89  {
90  return (counter != NULL ? *counter : 0);
91  }
void JLANG::JStorage< JAccessibleObjectIterator< T > , JNew >::recreate ( )
inlineinherited

Recreate object in memory.

A new object is created if no memory is allocated yet, else the previously created object is maintained.

Definition at line 57 of file JStorage.hh.

58  {
59  if (!this->is_valid()) {
60  this->set(memory_type::create());
61  }
62  }
bool is_valid() const
Check validity of pointer.
virtual void set(JAccessibleObjectIterator< T > *p) override
Set pointer.
Definition: JPointer.hh:75
void JLANG::JStorage< JAccessibleObjectIterator< T > , JNew >::create ( )
inlineinherited

Create object in memory.

The memory allocated by a previously created object will be released.

Definition at line 69 of file JStorage.hh.

70  {
71  this->reset(memory_type::create());
72  }
virtual void reset() override
Reset pointer.
Definition: JStorage.hh:42
void JLANG::JStorage< JAccessibleObjectIterator< T > , JNew >::create ( const unsigned int  size)
inlineinherited

Create array of objects in memory.

The memory allocated by previously created objects will be released.

Parameters
sizenumber of elements

Definition at line 81 of file JStorage.hh.

82  {
83  this->reset(memory_type::create(size));
84  }
virtual void reset() override
Reset pointer.
Definition: JStorage.hh:42
void JLANG::JStorage< JAccessibleObjectIterator< T > , JNew >::release ( )
inlineprotectedinherited

Release memory.

Definition at line 91 of file JStorage.hh.

92  {
93  memory_type::release(this->get());
94  }
static void JLANG::JNew< JAccessibleObjectIterator< T > >::release ( JAccessibleObjectIterator< T > *  p)
inlinestaticinherited

Release memory.

Parameters
ppointer to data

Definition at line 41 of file JMemory.hh.

42  {
43  delete p;
44  }
virtual JAccessibleObjectIterator< T > * JLANG::JPointer< JAccessibleObjectIterator< T > >::get ( ) const
inlineoverridevirtualinherited

Get pointer.

Returns
pointer to object

Implements JLANG::JAbstractPointer< JAccessibleObjectIterator< T > >.

Definition at line 64 of file JPointer.hh.

65  {
66  return this->__p;
67  }
JAccessibleObjectIterator< T > * __p
pointer to object
Definition: JPointer.hh:136
JAccessibleObjectIterator< T > * const& JLANG::JPointer< JAccessibleObjectIterator< T > >::getReference ( ) const
inlineinherited

Get rereference to internal pointer.

Returns
reference to internal pointer

Definition at line 119 of file JPointer.hh.

120  {
121  return __p;
122  }
JAccessibleObjectIterator< T > * __p
pointer to object
Definition: JPointer.hh:136
JAccessibleObjectIterator< T > * & JLANG::JPointer< JAccessibleObjectIterator< T > >::getReference ( )
inlineinherited

Get rereference to internal pointer.

Returns
reference to internal pointer

Definition at line 130 of file JPointer.hh.

131  {
132  return __p;
133  }
JAccessibleObjectIterator< T > * __p
pointer to object
Definition: JPointer.hh:136
virtual bool JLANG::JAbstractPointer< JAccessibleObjectIterator< T > >::equals ( const JAbstractPointer< JAccessibleObjectIterator< T > > &  object) const
inlinevirtualinherited

Equals.

The equality is evaluated by comparison of the internal pointers.

Parameters
objectabstract pointer
Returns
true if equals; else false

Definition at line 50 of file JAbstractPointer.hh.

51  {
52  return this->get() == object.get();
53  }
bool JLANG::JAbstractPointer< JAccessibleObjectIterator< T > >::is_valid ( ) const
inlineinherited

Check validity of pointer.

Returns
true if pointer not null; else false

Definition at line 83 of file JAbstractPointer.hh.

84  {
85  return this->get() != NULL;
86  }
JAccessibleObjectIterator< T > * JLANG::JAbstractPointer< JAccessibleObjectIterator< T > >::operator-> ( ) const
inlineinherited

Smart pointer operator.

Returns
pointer to object

Definition at line 112 of file JAbstractPointer.hh.

113  {
114  if (!is_valid())
115  throw JNullPointerException("JAbstractPointer::operator->()");
116  else
117  return this->get();
118  }
bool is_valid() const
Check validity of pointer.
Exception for null pointer operation.
Definition: JException.hh:216
JLANG::JAbstractPointer< JAccessibleObjectIterator< T > >::operator JAccessibleObjectIterator< T > * ( ) const
inlineinherited

Type conversion operator.

Returns
pointer to object

Definition at line 126 of file JAbstractPointer.hh.

127  {
128  return this->get();
129  }

Member Data Documentation

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

throw option

Set default throw option to true.

Definition at line 28 of file JThrow.hh.

int* JLANG::JSharedCounter::counter
protectedinherited

Definition at line 94 of file JSharedCounter.hh.

pointer to object

Definition at line 136 of file JPointer.hh.


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