#include <Pointer.h>

Inheritance diagram for Ipc::Mem::Pointer< Class >:
Collaboration diagram for Ipc::Mem::Pointer< Class >:

Public Member Functions

 Pointer (Object< Class > *const anObject=nullptr)
 
Class * operator-> () const
 
Class & operator* () const
 
const Class * getRaw () const
 
Class * getRaw ()
 
 operator bool () const
 
bool operator! () const
 
bool operator== (const RefCount &p) const
 
bool operator== (const Other *const p) const
 
bool operator!= (const RefCount &p) const
 
bool operator!= (const Other *const p) const
 

Static Public Member Functions

static auto Make (Args &&... args)
 

Private Types

typedef RefCount< Object< Class > > Base
 

Private Member Functions

void dereference (Object< Class > const *newP=nullptr)
 
void reference (const RefCount &p)
 

Private Attributes

Object< Class > const * p_
 

Detailed Description

template<class Class>
class Ipc::Mem::Pointer< Class >

uses a refcounted pointer to Object<Class> as a parent, but translates its API to return raw Class pointers

Definition at line 82 of file Pointer.h.

Member Typedef Documentation

◆ Base

template<class Class >
typedef RefCount< Object<Class> > Ipc::Mem::Pointer< Class >::Base
private

Definition at line 85 of file Pointer.h.

Constructor & Destructor Documentation

◆ Pointer()

template<class Class >
Ipc::Mem::Pointer< Class >::Pointer ( Object< Class > *const  anObject = nullptr)
inlineexplicit

Definition at line 88 of file Pointer.h.

Member Function Documentation

◆ dereference()

void RefCount< Object< Class > >::dereference ( Object< Class > const *  newP = nullptr)
inlineprivateinherited

Definition at line 112 of file RefCount.h.

◆ getRaw() [1/2]

template<class Class >
Class * Ipc::Mem::Pointer< Class >::getRaw ( )
inline

Definition at line 93 of file Pointer.h.

References RefCount< Object< Class > >::getRaw().

◆ getRaw() [2/2]

template<class Class >
const Class * Ipc::Mem::Pointer< Class >::getRaw ( ) const
inline

Definition at line 92 of file Pointer.h.

References RefCount< Object< Class > >::getRaw().

◆ Make()

static auto RefCount< Object< Class > >::Make ( Args &&...  args)
inlinestaticinherited

creates a new C object using given C constructor arguments (if any)

Returns
a refcounting pointer to the created object

Definition at line 34 of file RefCount.h.

◆ operator bool()

RefCount< Object< Class > >::operator bool ( ) const
inlineexplicitinherited

Definition at line 78 of file RefCount.h.

◆ operator!()

bool RefCount< Object< Class > >::operator! ( ) const
inlineinherited

Definition at line 80 of file RefCount.h.

◆ operator!=() [1/2]

bool RefCount< Object< Class > >::operator!= ( const Other *const  p) const
inlineinherited

Definition at line 106 of file RefCount.h.

◆ operator!=() [2/2]

bool RefCount< Object< Class > >::operator!= ( const RefCount< Object< Class > > &  p) const
inlineinherited

Definition at line 95 of file RefCount.h.

◆ operator*()

template<class Class >
Class & Ipc::Mem::Pointer< Class >::operator* ( ) const
inline

Definition at line 91 of file Pointer.h.

References RefCount< Object< Class > >::operator*().

◆ operator->()

template<class Class >
Class * Ipc::Mem::Pointer< Class >::operator-> ( ) const
inline

Definition at line 90 of file Pointer.h.

References RefCount< Object< Class > >::operator->().

◆ operator==() [1/2]

bool RefCount< Object< Class > >::operator== ( const Other *const  p) const
inlineinherited

Definition at line 100 of file RefCount.h.

◆ operator==() [2/2]

bool RefCount< Object< Class > >::operator== ( const RefCount< Object< Class > > &  p) const
inlineinherited

Definition at line 91 of file RefCount.h.

◆ reference()

void RefCount< Object< Class > >::reference ( const RefCount< Object< Class > > &  p)
inlineprivateinherited

Definition at line 124 of file RefCount.h.

Member Data Documentation

◆ p_

Object< Class > const* RefCount< Object< Class > >::p_
privateinherited

Definition at line 129 of file RefCount.h.


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors