Jpp
15.0.0-rc.2
the software that should make you happy
|
The template JSharedPointer class can be used to share a pointer to an object. More...
#include <JSharedPointer.hh>
Public Types | |
typedef JPointer< JClass_t > | pointer_type |
typedef JStorage< JClass_t, JMemory_t > | storage_type |
typedef JMemory_t< JClass_t > | memory_type |
Public Member Functions | |
JSharedPointer () | |
Default constructor. More... | |
JSharedPointer (const JSharedPointer &object) | |
Copy constructor. More... | |
template<class JDerived_t > | |
JSharedPointer (JDerived_t *p) | |
Assignment constructor. More... | |
~JSharedPointer () | |
Destructor. More... | |
const JSharedPointer & | getSharedPointer () const |
Get shared pointer. More... | |
JSharedPointer & | getSharedPointer () |
Get shared pointer. More... | |
void | setSharedPointer (const JSharedPointer &object) |
Set shared pointer. More... | |
JSharedPointer & | operator= (const JSharedPointer &object) |
Assignment operator. More... | |
template<class JDerived_t > | |
JSharedPointer & | operator= (JDerived_t *p) |
Assignment operator. More... | |
virtual void | reset () override |
Reset 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... | |
template<class T > | |
void | reset (const JPointer< T > &pointer) |
Reset pointer. More... | |
void | reset (JClass_t *p) |
Reset pointer. 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 JClass_t * | get () const override |
Get pointer. More... | |
template<class T > | |
void | set (const JPointer< T > &pointer) |
Set 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... | |
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 Member Functions | |
void | set (const JSharedPointer &object) |
Set pointer. More... | |
virtual void | set (JClass_t *p) override |
Set pointer. More... | |
void | release () |
Release memory. More... | |
Protected Attributes | |
int * | counter |
JClass_t * | __p |
pointer to object More... | |
The template JSharedPointer class can be used to share a pointer to an object.
The object pointed to is deleted when the shared counter is zero, i.e. when no-one shares the object. It is possible to create a container with shared pointers. The first template argument refers to the data type pointed to and the second to the memory management policy.
Definition at line 28 of file JSharedPointer.hh.
typedef JPointer<JClass_t> JLANG::JSharedPointer< JClass_t, JMemory_t >::pointer_type |
Definition at line 34 of file JSharedPointer.hh.
typedef JStorage<JClass_t, JMemory_t> JLANG::JSharedPointer< JClass_t, JMemory_t >::storage_type |
Definition at line 35 of file JSharedPointer.hh.
|
inherited |
Definition at line 33 of file JStorage.hh.
|
inline |
|
inline |
Copy constructor.
The reference counter of the shared object is incremented by one.
object | shared pointer |
Definition at line 53 of file JSharedPointer.hh.
|
inline |
Assignment constructor.
If the pointer is valid, the reference counter of the shared object pointed to is initialised to one.
p | pointer to derived class object |
Definition at line 69 of file JSharedPointer.hh.
|
inline |
Destructor.
The reference counter is decremented by one and the object pointed to is deleted when the reference counter is zero.
Definition at line 82 of file JSharedPointer.hh.
|
inline |
|
inline |
|
inline |
Set shared pointer.
object | shared pointer |
Definition at line 117 of file JSharedPointer.hh.
|
inline |
Assignment operator.
The reference counter is decremented by one and the object pointed to previously is deleted when its reference counter is zero. The reference counter of the shared object is incremented by one.
object | shared pointer |
Definition at line 139 of file JSharedPointer.hh.
|
inline |
Assignment operator.
The reference counter is decremented by one and the object pointed to previously is deleted when its reference counter is zero. If the pointer is valid, the reference counter of the shared object pointed to is initialised to one.
p | pointer to derived class object |
Definition at line 158 of file JSharedPointer.hh.
|
inlineoverridevirtual |
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< JClass_t, JMemory_t >.
Definition at line 171 of file JSharedPointer.hh.
|
inlineprotected |
Set pointer.
The reference counter of the shared object pointed to is incremented by one.
object | shared pointer |
Definition at line 188 of file JSharedPointer.hh.
|
inlineoverrideprotectedvirtual |
Set pointer.
The reference counter of the shared object pointed to is initialised to one.
p | pointer to derived class object |
Reimplemented from JLANG::JPointer< JClass_t >.
Definition at line 202 of file JSharedPointer.hh.
|
inlineinherited |
Initialise counter.
Definition at line 33 of file JSharedCounter.hh.
|
inlineinherited |
Attach this counter to given shared counter object.
object | shared counter |
Definition at line 46 of file JSharedCounter.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
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.
|
inlineinherited |
Create object in memory.
The memory allocated by a previously created object will be released.
Definition at line 69 of file JStorage.hh.
|
inlineinherited |
Create array of objects in memory.
The memory allocated by previously created objects will be released.
size | number of elements |
Definition at line 81 of file JStorage.hh.
|
inlineprotectedinherited |
Release memory.
Definition at line 91 of file JStorage.hh.
|
inlineoverridevirtualinherited |
Get pointer.
Implements JLANG::JAbstractPointer< JClass_t >.
Reimplemented in JLANG::JMultiPointer< JTypeList< JHead_t, JTail_t > >, JLANG::JMultiPointer< JClass_t >, JLANG::JMultiPointer< JTail_t >, JLANG::JMultiPointer< JHead_t >, JLANG::JMultiPointer< T >, and JLANG::JMultiPointer< JTypeList< JDAQEvent, JTypelist_t > >.
Definition at line 64 of file JPointer.hh.
|
inlineinherited |
|
inlineinherited |
Get rereference to internal pointer.
Definition at line 119 of file JPointer.hh.
|
inlineinherited |
Get rereference to internal pointer.
Definition at line 130 of file JPointer.hh.
|
inlinevirtualinherited |
Equals.
The equality is evaluated by comparison of the internal pointers.
object | abstract pointer |
Definition at line 50 of file JAbstractPointer.hh.
|
inlineinherited |
Check validity of pointer.
Definition at line 83 of file JAbstractPointer.hh.
|
inlineinherited |
Smart pointer operator.
Definition at line 112 of file JAbstractPointer.hh.
|
inlineinherited |
Type conversion operator.
Definition at line 126 of file JAbstractPointer.hh.
|
protectedinherited |
Definition at line 94 of file JSharedCounter.hh.
|
protectedinherited |
pointer to object
Definition at line 136 of file JPointer.hh.