Jpp  master_rocky
the software that should make you happy
Public Member Functions | Protected Attributes | List of all members
JLANG::JPointer< JClass_t > Class Template Reference

Template implementation of class that holds pointer to object(s). More...

#include <JPointer.hh>

Inheritance diagram for JLANG::JPointer< JClass_t >:
JLANG::JAbstractPointer< JClass_t > JLANG::JEquals< JAbstractPointer< JClass_t > > JLANG::JMultiPointer< JTail_t > JLANG::JMultiPointer< JHead_t > JLANG::JStorage< TFile > JLANG::JStorage< JClass_t, JNew > JROOT::JManager< string, TH1D > JROOT::JManager< string, TH2D > JSUPPORT::JTreeScanner_t< JDerived_t > JFIT::JShowerEnergyCorrection JGIZMO::JRootObject JLANG::JMultiPointer< JClass_t > JLANG::JStorage< JClass_t, JMemory_t > JROOT::JAbstractTreeReader JROOT::JManager< JKey_t, JValue_t > JSUPPORT::JTreeScanner_t< JClass_t > JTRIGGER::JTimesliceRouter

Public Member Functions

 JPointer ()
 Default constructor. More...
 
 JPointer (JClass_t *p)
 Constructor. More...
 
template<class T >
 JPointer (JPointer< T > pointer)
 Constructor. More...
 
virtual JClass_t * get () const override
 Get pointer. More...
 
virtual void set (JClass_t *p) override
 Set pointer. More...
 
virtual void reset () override
 Reset pointer. More...
 
template<class T >
void set (const JPointer< T > &pointer)
 Set pointer. More...
 
template<class T >
void reset (const JPointer< T > &pointer)
 Reset pointer. More...
 
JClass_t *const & getReference () const
 Get rereference to internal pointer. More...
 
JClass_t *& getReference ()
 Get rereference to internal pointer. More...
 
virtual bool equals (const JAbstractPointer &object) const
 Equals. More...
 
void reset (JClass_t *p)
 Reset pointer. More...
 
bool is_valid () const
 Check validity of pointer. More...
 
JClass_t * operator-> () const
 Smart pointer operator. More...
 
 operator JClass_t * () const
 Type conversion operator. More...
 

Protected Attributes

JClass_t * __p
 pointer to object More...
 

Detailed Description

template<class JClass_t>
class JLANG::JPointer< JClass_t >

Template implementation of class that holds pointer to object(s).

This class implements the JAbstractPointer interface.

Definition at line 22 of file JPointer.hh.

Constructor & Destructor Documentation

◆ JPointer() [1/3]

template<class JClass_t >
JLANG::JPointer< JClass_t >::JPointer ( )
inline

Default constructor.

Definition at line 33 of file JPointer.hh.

33  :
34  __p(NULL)
35  {}
JClass_t * __p
pointer to object
Definition: JPointer.hh:136

◆ JPointer() [2/3]

template<class JClass_t >
JLANG::JPointer< JClass_t >::JPointer ( JClass_t *  p)
inline

Constructor.

Parameters
ppointer to object

Definition at line 43 of file JPointer.hh.

43  :
44  __p(p)
45  {}

◆ JPointer() [3/3]

template<class JClass_t >
template<class T >
JLANG::JPointer< JClass_t >::JPointer ( JPointer< T >  pointer)
inline

Constructor.

Parameters
pointerpointer to object

Definition at line 54 of file JPointer.hh.

54  :
55  __p(pointer.get())
56  {}
virtual JClass_t * get() const override
Get pointer.
Definition: JPointer.hh:64

Member Function Documentation

◆ get()

template<class JClass_t >
virtual JClass_t* JLANG::JPointer< JClass_t >::get ( ) const
inlineoverridevirtual

◆ set() [1/2]

template<class JClass_t >
virtual void JLANG::JPointer< JClass_t >::set ( JClass_t *  p)
inlineoverridevirtual

Set pointer.

Parameters
ppointer to object

Implements JLANG::JAbstractPointer< JClass_t >.

Reimplemented in JLANG::JSharedPointer< JClass_t, JMemory_t >.

Definition at line 75 of file JPointer.hh.

76  {
77  this->__p = p;
78  }

◆ reset() [1/3]

template<class JClass_t >
virtual void JLANG::JPointer< JClass_t >::reset ( )
inlineoverridevirtual

◆ set() [2/2]

template<class JClass_t >
template<class T >
void JLANG::JPointer< JClass_t >::set ( const JPointer< T > &  pointer)
inline

Set pointer.

Parameters
pointerpointer to object

Definition at line 96 of file JPointer.hh.

97  {
98  this->set(pointer.get());
99  }
virtual void set(JClass_t *p) override
Set pointer.
Definition: JPointer.hh:75

◆ reset() [2/3]

template<class JClass_t >
template<class T >
void JLANG::JPointer< JClass_t >::reset ( const JPointer< T > &  pointer)
inline

Reset pointer.

Parameters
pointerpointer to object

Definition at line 108 of file JPointer.hh.

109  {
110  this->reset(pointer.get());
111  }
virtual void reset() override
Reset pointer.
Definition: JPointer.hh:84

◆ getReference() [1/2]

template<class JClass_t >
JClass_t* const& JLANG::JPointer< JClass_t >::getReference ( ) const
inline

Get rereference to internal pointer.

Returns
reference to internal pointer

Definition at line 119 of file JPointer.hh.

120  {
121  return __p;
122  }

◆ getReference() [2/2]

template<class JClass_t >
JClass_t* & JLANG::JPointer< JClass_t >::getReference ( )
inline

Get rereference to internal pointer.

Returns
reference to internal pointer

Definition at line 130 of file JPointer.hh.

131  {
132  return __p;
133  }

◆ equals()

template<class JClass_t >
virtual bool JLANG::JAbstractPointer< JClass_t >::equals ( const JAbstractPointer< JClass_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  }
virtual JClass_t * get() const =0
Get pointer.

◆ reset() [3/3]

template<class JClass_t >
void JLANG::JAbstractPointer< JClass_t >::reset ( JClass_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(JClass_t *p)=0
Set pointer.
virtual void reset()=0
Reset pointer.

◆ is_valid()

template<class JClass_t >
bool JLANG::JAbstractPointer< JClass_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  }

◆ operator->()

template<class JClass_t >
JClass_t* JLANG::JAbstractPointer< JClass_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  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
bool is_valid() const
Check validity of pointer.
Exception for null pointer operation.
Definition: JException.hh:234

◆ operator JClass_t *()

template<class JClass_t >
JLANG::JAbstractPointer< JClass_t >::operator JClass_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

◆ __p

template<class JClass_t >
JClass_t* JLANG::JPointer< JClass_t >::__p
protected

pointer to object

Definition at line 136 of file JPointer.hh.


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