Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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< JClass_t > JFIT::JEnergyCorrection JGIZMO::JManager< JKey_t, JValue_t > JLANG::JMultiPointer< JClass_t > JLANG::JStorage< JClass_t, JMemory_t > JROOT::JAbstractTreeReader JSUPPORT::JTreeScanner_t< JClass_t > JSUPPORT::JTreeScanner_t< JDerived_t > JLANG::JSharedPointer< JClass_t, JMemory_t > JLANG::JSinglePointer< JClass_t, JMemory_t > JROOT::JRootFile JROOT::JTreeReader< T > JSUPPORT::JTreeScanner< JAssertConversion< JDerived_t, JBase_t >, JNullType > JEEP::JPropertiesElement JPARSER::JParserElement JTOOLS::JAbstractAutoPointer< JBase_t > JTOOLS::JAutoElement< JBase_t > JTOOLS::JFunctional< JArgument_t, JResult_t >::JSupervisor JROOT::JRootInputFile JROOT::JRootOutputFile JROOT::JTreeReaderObjectIterator< T > JSUPPORT::JTreeScanner< JAssertConversion< JDerived_t, JBase_t >, JEvaluator_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 22 of file JAbstractPointer.hh.

Constructor & Destructor Documentation

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

Default constructor.

Definition at line 29 of file JAbstractPointer.hh.

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

Virtual destructor.

Definition at line 37 of file JAbstractPointer.hh.

38  {}

Member Function Documentation

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 48 of file JAbstractPointer.hh.

49  {
50  return this->get() == object.get();
51  }
template<class JClass_t>
virtual JClass_t* JLANG::JAbstractPointer< JClass_t >::get ( ) const
pure virtual

Get pointer.

Returns
pointer to object

Implemented in JLANG::JMultiPointer< JTypeList< JHead_t, JTail_t > >, JLANG::JMultiPointer< JClass_t >, JLANG::JPointer< JClass_t >, JLANG::JMultiPointer< JTail_t >, JLANG::JMultiPointer< JHead_t >, JLANG::JMultiPointer< T >, JLANG::JMultiPointer< JTypeList< JDAQEvent, JTypelist_t > >, JLANG::JPointer< const JDAQTimeslice >, JLANG::JPointer< JPHYSICS::JRadiation >, JLANG::JPointer< JDETECTOR::JCLBDefaultSimulatorInterface::JStateMachine >, JLANG::JPointer< JChainReader< JClass_t > >, JLANG::JPointer< TObject >, JLANG::JPointer< JAccessibleObjectIterator< KM3NETDAQ::KM3NETDAQ::JDAQEvent > >, JLANG::JPointer< JChainReader< JDerived_t > >, JLANG::JPointer< const TFormula >, JLANG::JPointer< JObjectIterator< T > >, JLANG::JPointer< JFIT::JMEstimator >, JLANG::JPointer< JTail_t >, JLANG::JPointer< JAbstractAutoPointer< JBase_t > >, JLANG::JPointer< JHead_t >, JLANG::JPointer< JIO::JWriter >, JLANG::JPointer< T >, JLANG::JPointer< JAccessibleObjectIterator< JNullType > >, JLANG::JPointer< match_type >, JLANG::JPointer< JAccessibleObjectIterator< JDAQSummaryslice > >, JLANG::JPointer< JAccessibleObjectIterator< JTypeList< JDAQEvent, JTypelist_t > > >, JLANG::JPointer< JDETECTOR::JCLBDefaultSimulatorInterface::JTDC >, JLANG::JPointer< JDETECTOR::JPMTSimulator >, JLANG::JPointer< JAccessibleObjectIterator< JTail_t > >, JLANG::JPointer< JLOGGER::JLogger >, JLANG::JPointer< JDETECTOR::JCLBSimulator >, JLANG::JPointer< JAccessibleObjectIterator< T > >, JLANG::JPointer< JParserElementInterface >, JLANG::JPointer< JTOOLS::JFunction1D >, JLANG::JPointer< JLANG::JMultiPipe< T, N > >, JLANG::JPointer< JDETECTOR::JK40Simulator >, JLANG::JPointer< const JDETECTOR::JModuleRouter >, JLANG::JPointer< JExceptionHandler >, JLANG::JPointer< JObjectOutput< JHead_t > >, JLANG::JPointer< TFile >, JLANG::JPointer< JAccessibleObjectIterator< JHead_t > >, JLANG::JPointer< JRewindableObjectIterator< JTail_t > >, JLANG::JPointer< JRewindableObjectIterator< JHead_t > >, JLANG::JPointer< JObjectOutput< T > >, JLANG::JPointer< JBase_t >, JLANG::JPointer< JObjectOutput< JTail_t > >, JLANG::JPointer< JPropertiesElementInterface >, JLANG::JPointer< JRewindableObjectIterator< const T > >, JLANG::JPointer< JDAQSummaryslice >, JLANG::JPointer< JRewindableObjectIterator< T > >, JLANG::JPointer< JAccessibleObjectOutput< T > >, JLANG::JPointer< JTypeList< JDAQEvent, JTypelist_t > >, JLANG::JPointer< JValue_t >, JLANG::JPointer< TTree >, JLANG::JPointer< JIO::JReader >, JLANG::JPointer< JNET::JControlHost >, and JLANG::JPointer< JTOOLS::JMultiMapTransformer >.

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 >, JLANG::JSharedPointer< JPHYSICS::JRadiation >, JLANG::JSharedPointer< JAccessibleObjectIterator< KM3NETDAQ::KM3NETDAQ::JDAQEvent > >, JLANG::JSharedPointer< JObjectIterator< T > >, JLANG::JSharedPointer< JFIT::JMEstimator >, JLANG::JSharedPointer< JAbstractAutoPointer< JBase_t > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JNullType > >, JLANG::JSharedPointer< match_type >, JLANG::JSharedPointer< JAccessibleObjectIterator< JDAQSummaryslice > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JTypeList< JDAQEvent, JTypelist_t > > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JTail_t > >, JLANG::JSharedPointer< JLOGGER::JLogger >, JLANG::JSharedPointer< JAccessibleObjectIterator< T > >, JLANG::JSharedPointer< JParserElementInterface >, JLANG::JSharedPointer< const JDETECTOR::JModuleRouter >, JLANG::JSharedPointer< JExceptionHandler >, JLANG::JSharedPointer< JObjectOutput< JHead_t > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JHead_t > >, JLANG::JSharedPointer< JRewindableObjectIterator< JTail_t > >, JLANG::JSharedPointer< JRewindableObjectIterator< JHead_t > >, JLANG::JSharedPointer< JObjectOutput< T > >, JLANG::JSharedPointer< JBase_t >, JLANG::JSharedPointer< JObjectOutput< JTail_t > >, JLANG::JSharedPointer< JPropertiesElementInterface >, JLANG::JSharedPointer< JRewindableObjectIterator< const T > >, JLANG::JSharedPointer< JRewindableObjectIterator< T > >, JLANG::JSharedPointer< JAccessibleObjectOutput< T > >, JLANG::JSharedPointer< JNET::JControlHost >, JLANG::JSharedPointer< JTOOLS::JMultiMapTransformer >, JLANG::JPointer< JClass_t >, JLANG::JPointer< const JDAQTimeslice >, JLANG::JPointer< JPHYSICS::JRadiation >, JLANG::JPointer< JDETECTOR::JCLBDefaultSimulatorInterface::JStateMachine >, JLANG::JPointer< JChainReader< JClass_t > >, JLANG::JPointer< TObject >, JLANG::JPointer< JAccessibleObjectIterator< KM3NETDAQ::KM3NETDAQ::JDAQEvent > >, JLANG::JPointer< JChainReader< JDerived_t > >, JLANG::JPointer< const TFormula >, JLANG::JPointer< JObjectIterator< T > >, JLANG::JPointer< JFIT::JMEstimator >, JLANG::JPointer< JTail_t >, JLANG::JPointer< JAbstractAutoPointer< JBase_t > >, JLANG::JPointer< JHead_t >, JLANG::JPointer< JIO::JWriter >, JLANG::JPointer< T >, JLANG::JPointer< JAccessibleObjectIterator< JNullType > >, JLANG::JPointer< match_type >, JLANG::JPointer< JAccessibleObjectIterator< JDAQSummaryslice > >, JLANG::JPointer< JAccessibleObjectIterator< JTypeList< JDAQEvent, JTypelist_t > > >, JLANG::JPointer< JDETECTOR::JCLBDefaultSimulatorInterface::JTDC >, JLANG::JPointer< JDETECTOR::JPMTSimulator >, JLANG::JPointer< JAccessibleObjectIterator< JTail_t > >, JLANG::JPointer< JLOGGER::JLogger >, JLANG::JPointer< JDETECTOR::JCLBSimulator >, JLANG::JPointer< JAccessibleObjectIterator< T > >, JLANG::JPointer< JParserElementInterface >, JLANG::JPointer< JTOOLS::JFunction1D >, JLANG::JPointer< JLANG::JMultiPipe< T, N > >, JLANG::JPointer< JDETECTOR::JK40Simulator >, JLANG::JPointer< const JDETECTOR::JModuleRouter >, JLANG::JPointer< JExceptionHandler >, JLANG::JPointer< JObjectOutput< JHead_t > >, JLANG::JPointer< TFile >, JLANG::JPointer< JAccessibleObjectIterator< JHead_t > >, JLANG::JPointer< JRewindableObjectIterator< JTail_t > >, JLANG::JPointer< JRewindableObjectIterator< JHead_t > >, JLANG::JPointer< JObjectOutput< T > >, JLANG::JPointer< JBase_t >, JLANG::JPointer< JObjectOutput< JTail_t > >, JLANG::JPointer< JPropertiesElementInterface >, JLANG::JPointer< JRewindableObjectIterator< const T > >, JLANG::JPointer< JDAQSummaryslice >, JLANG::JPointer< JRewindableObjectIterator< T > >, JLANG::JPointer< JAccessibleObjectOutput< T > >, JLANG::JPointer< JTypeList< JDAQEvent, JTypelist_t > >, JLANG::JPointer< JValue_t >, JLANG::JPointer< TTree >, JLANG::JPointer< JIO::JReader >, JLANG::JPointer< JNET::JControlHost >, and JLANG::JPointer< JTOOLS::JMultiMapTransformer >.

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

Reset pointer.

Implemented in JLANG::JSharedPointer< JClass_t, JMemory_t >, JLANG::JSharedPointer< JPHYSICS::JRadiation >, JLANG::JSharedPointer< JAccessibleObjectIterator< KM3NETDAQ::KM3NETDAQ::JDAQEvent > >, JLANG::JSharedPointer< JObjectIterator< T > >, JLANG::JSharedPointer< JFIT::JMEstimator >, JLANG::JSharedPointer< JAbstractAutoPointer< JBase_t > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JNullType > >, JLANG::JSharedPointer< match_type >, JLANG::JSharedPointer< JAccessibleObjectIterator< JDAQSummaryslice > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JTypeList< JDAQEvent, JTypelist_t > > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JTail_t > >, JLANG::JSharedPointer< JLOGGER::JLogger >, JLANG::JSharedPointer< JAccessibleObjectIterator< T > >, JLANG::JSharedPointer< JParserElementInterface >, JLANG::JSharedPointer< const JDETECTOR::JModuleRouter >, JLANG::JSharedPointer< JExceptionHandler >, JLANG::JSharedPointer< JObjectOutput< JHead_t > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JHead_t > >, JLANG::JSharedPointer< JRewindableObjectIterator< JTail_t > >, JLANG::JSharedPointer< JRewindableObjectIterator< JHead_t > >, JLANG::JSharedPointer< JObjectOutput< T > >, JLANG::JSharedPointer< JBase_t >, JLANG::JSharedPointer< JObjectOutput< JTail_t > >, JLANG::JSharedPointer< JPropertiesElementInterface >, JLANG::JSharedPointer< JRewindableObjectIterator< const T > >, JLANG::JSharedPointer< JRewindableObjectIterator< T > >, JLANG::JSharedPointer< JAccessibleObjectOutput< T > >, JLANG::JSharedPointer< JNET::JControlHost >, JLANG::JSharedPointer< JTOOLS::JMultiMapTransformer >, JLANG::JPointer< JClass_t >, JLANG::JPointer< const JDAQTimeslice >, JLANG::JPointer< JPHYSICS::JRadiation >, JLANG::JPointer< JDETECTOR::JCLBDefaultSimulatorInterface::JStateMachine >, JLANG::JPointer< JChainReader< JClass_t > >, JLANG::JPointer< TObject >, JLANG::JPointer< JAccessibleObjectIterator< KM3NETDAQ::KM3NETDAQ::JDAQEvent > >, JLANG::JPointer< JChainReader< JDerived_t > >, JLANG::JPointer< const TFormula >, JLANG::JPointer< JObjectIterator< T > >, JLANG::JPointer< JFIT::JMEstimator >, JLANG::JPointer< JTail_t >, JLANG::JPointer< JAbstractAutoPointer< JBase_t > >, JLANG::JPointer< JHead_t >, JLANG::JPointer< JIO::JWriter >, JLANG::JPointer< T >, JLANG::JPointer< JAccessibleObjectIterator< JNullType > >, JLANG::JPointer< match_type >, JLANG::JPointer< JAccessibleObjectIterator< JDAQSummaryslice > >, JLANG::JPointer< JAccessibleObjectIterator< JTypeList< JDAQEvent, JTypelist_t > > >, JLANG::JPointer< JDETECTOR::JCLBDefaultSimulatorInterface::JTDC >, JLANG::JPointer< JDETECTOR::JPMTSimulator >, JLANG::JPointer< JAccessibleObjectIterator< JTail_t > >, JLANG::JPointer< JLOGGER::JLogger >, JLANG::JPointer< JDETECTOR::JCLBSimulator >, JLANG::JPointer< JAccessibleObjectIterator< T > >, JLANG::JPointer< JParserElementInterface >, JLANG::JPointer< JTOOLS::JFunction1D >, JLANG::JPointer< JLANG::JMultiPipe< T, N > >, JLANG::JPointer< JDETECTOR::JK40Simulator >, JLANG::JPointer< const JDETECTOR::JModuleRouter >, JLANG::JPointer< JExceptionHandler >, JLANG::JPointer< JObjectOutput< JHead_t > >, JLANG::JPointer< TFile >, JLANG::JPointer< JAccessibleObjectIterator< JHead_t > >, JLANG::JPointer< JRewindableObjectIterator< JTail_t > >, JLANG::JPointer< JRewindableObjectIterator< JHead_t > >, JLANG::JPointer< JObjectOutput< T > >, JLANG::JPointer< JBase_t >, JLANG::JPointer< JObjectOutput< JTail_t > >, JLANG::JPointer< JPropertiesElementInterface >, JLANG::JPointer< JRewindableObjectIterator< const T > >, JLANG::JPointer< JDAQSummaryslice >, JLANG::JPointer< JRewindableObjectIterator< T > >, JLANG::JPointer< JAccessibleObjectOutput< T > >, JLANG::JPointer< JTypeList< JDAQEvent, JTypelist_t > >, JLANG::JPointer< JValue_t >, JLANG::JPointer< TTree >, JLANG::JPointer< JIO::JReader >, JLANG::JPointer< JNET::JControlHost >, JLANG::JPointer< JTOOLS::JMultiMapTransformer >, JLANG::JStorage< JClass_t, JMemory_t >, JLANG::JStorage< JDETECTOR::JK40Simulator, JNew >, JLANG::JStorage< JAccessibleObjectIterator< JTail_t >, JNew >, JLANG::JStorage< match_type, JNew >, JLANG::JStorage< JObjectOutput< JTail_t >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< JNullType >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< KM3NETDAQ::KM3NETDAQ::JDAQEvent >, JNew >, JLANG::JStorage< JDETECTOR::JCLBDefaultSimulatorInterface::JStateMachine, JNew >, JLANG::JStorage< JDETECTOR::JPMTSimulator, JNew >, JLANG::JStorage< JObjectIterator< T >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< T >, JNew >, JLANG::JStorage< JRewindableObjectIterator< JTail_t >, JNew >, JLANG::JStorage< JTOOLS::JFunction1D, JNew >, JLANG::JStorage< JDETECTOR::JCLBSimulator, JNew >, JLANG::JStorage< JTOOLS::JMultiMapTransformer, JNew >, JLANG::JStorage< JRewindableObjectIterator< const T >, JNew >, JLANG::JStorage< JBase_t, JNew >, JLANG::JStorage< JParserElementInterface, JNew >, JLANG::JStorage< JFIT::JMEstimator, JNew >, JLANG::JStorage< JAbstractAutoPointer< JBase_t >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< JHead_t >, JNew >, JLANG::JStorage< JPHYSICS::JRadiation, JNew >, JLANG::JStorage< JDETECTOR::JCLBDefaultSimulatorInterface::JTDC, JNew >, JLANG::JStorage< JLANG::JMultiPipe< T, N >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< JDAQSummaryslice >, JNew >, JLANG::JStorage< JObjectOutput< JHead_t >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< JTypeList< JDAQEvent, JTypelist_t > >, JNew >, JLANG::JStorage< JExceptionHandler, JNew >, JLANG::JStorage< TFile >, JLANG::JStorage< JRewindableObjectIterator< T >, JNew >, JLANG::JStorage< JPropertiesElementInterface, JNew >, JLANG::JStorage< JRewindableObjectIterator< JHead_t >, JNew >, JLANG::JStorage< const JDETECTOR::JModuleRouter, JNew >, JLANG::JStorage< JObjectOutput< T >, JNew >, JLANG::JStorage< JIO::JWriter, JNew >, JLANG::JStorage< JNET::JControlHost, JNew >, JLANG::JStorage< JAccessibleObjectOutput< T >, JNew >, JLANG::JStorage< JIO::JReader, JNew >, and JLANG::JStorage< JLOGGER::JLogger, JNew >.

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 81 of file JAbstractPointer.hh.

82  {
83  return this->get() != NULL;
84  }
template<class JClass_t>
void JLANG::JAbstractPointer< JClass_t >::reset ( JClass_t *  p)
inline

Reset pointer.

Parameters
ppointer to object

Definition at line 92 of file JAbstractPointer.hh.

93  {
94  if (this->get() != p) {
95 
96  this->reset();
97 
98  if (p != NULL) {
99  this->set(p);
100  }
101  }
102  }
virtual void reset()=0
Reset pointer.
virtual void set(JClass_t *p)=0
Set pointer.
template<class JClass_t>
JClass_t* JLANG::JAbstractPointer< JClass_t >::operator-> ( ) const
inline

Smart pointer operator.

Returns
pointer to object

Definition at line 110 of file JAbstractPointer.hh.

111  {
112  if (!is_valid())
113  throw JNullPointerException("JAbstractPointer::operator->()");
114  else
115  return this->get();
116  }
bool is_valid() const
Check validity of pointer.
Exception for null pointer operation.
Definition: JException.hh:198
template<class JClass_t>
JLANG::JAbstractPointer< JClass_t >::operator JClass_t * ( ) const
inline

Type conversion operator.

Returns
pointer to object

Definition at line 124 of file JAbstractPointer.hh.

125  {
126  return this->get();
127  }

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