1 #ifndef __JLANG__JSHAREDPOINTER__ 
    2 #define __JLANG__JSHAREDPOINTER__ 
   14 namespace JPP { 
using namespace JLANG; }
 
   27   template<
class JClass_t, 
template<
class> 
class JMemory_t = 
JNew> 
 
   68     template<
class JDerived_t>
 
  119       if (this->
get() != 
object.
get()) {
 
  157     template<
class JDerived_t>
 
  202     virtual void set(JClass_t* p)
 override  
JSharedPointer()
Default constructor. 
 
Memory management class for create/release policy based on new/delete. 
 
virtual void reset() override
Reset pointer. 
 
JSharedPointer & operator=(JDerived_t *p)
Assignment operator. 
 
void attach(const JSharedCounter &object)
Attach this counter to given shared counter object. 
 
void set(const JSharedPointer &object)
Set pointer. 
 
~JSharedPointer()
Destructor. 
 
bool is_valid() const 
Check validity of pointer. 
 
The template JSharedPointer class can be used to share a pointer to an object. 
 
JStorage< JClass_t, JMemory_t > storage_type
 
Template implementation of class that holds pointer to object(s). 
 
JPointer< JClass_t > pointer_type
 
void setSharedPointer(const JSharedPointer &object)
Set shared pointer. 
 
void initialise()
Initialise counter. 
 
Template interface for pointer to object(s). 
 
virtual void set(JClass_t *p) override
Set pointer. 
 
JSharedPointer & operator=(const JSharedPointer &object)
Assignment operator. 
 
JSharedPointer(const JSharedPointer &object)
Copy constructor. 
 
const JSharedPointer & getSharedPointer() const 
Get shared pointer. 
 
JSharedPointer(JDerived_t *p)
Assignment constructor. 
 
virtual void reset() override
Reset pointer. 
 
JSharedPointer & getSharedPointer()
Get shared pointer. 
 
Base class for memory management. 
 
virtual void set(JClass_t *p) override
Set pointer. 
 
virtual void reset() override
Reset pointer.