Jpp  19.1.0
the software that should make you happy
Public Member Functions | Protected Member Functions | List of all members
JLANG::JAbstractPointer< JClass_t > Class Template Referenceabstract

Template interface for pointer to object(s). More...

#include <JAbstractPointer.hh>

Inheritance diagram for JLANG::JAbstractPointer< JClass_t >:
JLANG::JEquals< JAbstractPointer< JClass_t > > JLANG::JPointer< const JDAQTimeslice > JLANG::JPointer< JChainReader< JClass_t > > JLANG::JPointer< TObject > JLANG::JPointer< const TFormula > JLANG::JPointer< T > JLANG::JPointer< JValue_t > JLANG::JPointer< TTree > JLANG::JPointer< JClass_t >

Public Member Functions

virtual ~JAbstractPointer ()
 Virtual destructor. More...
 
virtual bool equals (const JAbstractPointer &object) const
 Equals. More...
 
virtual JClass_t * get () const =0
 Get pointer. More...
 
virtual void set (JClass_t *p)=0
 Set pointer. More...
 
virtual void reset ()=0
 Reset pointer. More...
 
bool is_valid () const
 Check validity of pointer. More...
 
void reset (JClass_t *p)
 Reset pointer. More...
 
JClass_t * operator-> () const
 Smart pointer operator. More...
 
 operator JClass_t * () const
 Type conversion operator. More...
 

Protected Member Functions

 JAbstractPointer ()
 Default constructor. More...
 

Detailed Description

template<class JClass_t>
class JLANG::JAbstractPointer< JClass_t >

Template interface for pointer to object(s).

Definition at line 24 of file JAbstractPointer.hh.

Constructor & Destructor Documentation

◆ JAbstractPointer()

template<class JClass_t >
JLANG::JAbstractPointer< JClass_t >::JAbstractPointer ( )
inlineprotected

Default constructor.

Definition at line 31 of file JAbstractPointer.hh.

32  {}

◆ ~JAbstractPointer()

template<class JClass_t >
virtual JLANG::JAbstractPointer< JClass_t >::~JAbstractPointer ( )
inlinevirtual

Virtual destructor.

Definition at line 39 of file JAbstractPointer.hh.

40  {}

Member Function Documentation

◆ equals()

template<class JClass_t >
virtual bool JLANG::JAbstractPointer< JClass_t >::equals ( const JAbstractPointer< JClass_t > &  object) const
inlinevirtual

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.

◆ get()

template<class JClass_t >
virtual JClass_t* JLANG::JAbstractPointer< JClass_t >::get ( ) const
pure virtual

◆ set()

template<class JClass_t >
virtual void JLANG::JAbstractPointer< JClass_t >::set ( JClass_t *  p)
pure virtual

Set pointer.

Parameters
ppointer to object

Implemented in JLANG::JSharedPointer< JClass_t, JMemory_t >, and JLANG::JPointer< JClass_t >.

◆ reset() [1/2]

template<class JClass_t >
virtual void JLANG::JAbstractPointer< JClass_t >::reset ( )
pure virtual

◆ is_valid()

template<class JClass_t >
bool JLANG::JAbstractPointer< JClass_t >::is_valid ( ) const
inline

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  }

◆ reset() [2/2]

template<class JClass_t >
void JLANG::JAbstractPointer< JClass_t >::reset ( JClass_t *  p)
inline

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.

◆ operator->()

template<class JClass_t >
JClass_t* JLANG::JAbstractPointer< JClass_t >::operator-> ( ) const
inline

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
inline

Type conversion operator.

Returns
pointer to object

Definition at line 126 of file JAbstractPointer.hh.

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

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