cheshirekow  v0.1.0
freetype::RefPtr< T > Class Template Reference

pointer to a reference counted object, auto destruct when reference count is zero More...

#include <cpp_fontconfig/freetype.h>

Public Types

typedef Traits::cobjptr cobjptr
 
typedef Traits::Delegate Delegate
 
typedef Traits::Storage Storage
 

Public Member Functions

 operator bool () const
 
CPtr< Traits > operator* ()
 
ConstCPtr< Traits > operator* () const
 
template<typename T2 >
LValuePair< RefPtr< Traits >, T2 > operator, (T2 &other)
 
Delegate operator-> ()
 the member operator, exposes the underlying cobj pointer More...
 
const Delegate operator-> () const
 
RefPtr< Traits > & operator= (const RefPtr< Traits > &other)
 assignment operator, decreases reference count of current object, increases reference count of copied pointer More...
 
 RefPtr (cobjptr ptr=0, bool doRef=false)
 create a RefPtr from the specified cobj More...
 
 RefPtr (const RefPtr< Traits > &other)
 copy construct a pointer, increasing the reference count More...
 
cobjptr subvert ()
 return the stored pointer, subverting reference safety, see specializations if Storage is not the same as cobjptr More...
 
const cobjptr subvert () const
 
void unlink ()
 dereference the stored object and turn this into a null pointer More...
 
 ~RefPtr ()
 when the RefPtr is destroyed the reference count of the pointed-to object is decreased More...
 

Private Member Functions

void dereference ()
 decrease reference count by one, see specializations More...
 
void reference ()
 increase reference count by one, see specializations More...
 

Private Attributes

Storage m_ptr
 

Detailed Description

template<typename T>
class freetype::RefPtr< T >

pointer to a reference counted object, auto destruct when reference count is zero

Definition at line 35 of file freetype.h.

Member Typedef Documentation

template<typename T>
typedef Traits::cobjptr freetype::RefPtr< T >::cobjptr

Definition at line 42 of file RefPtr.h.

template<typename T>
typedef Traits::Delegate freetype::RefPtr< T >::Delegate

Definition at line 43 of file RefPtr.h.

template<typename T>
typedef Traits::Storage freetype::RefPtr< T >::Storage

Definition at line 44 of file RefPtr.h.

Constructor & Destructor Documentation

template<typename T>
freetype::RefPtr< T >::RefPtr ( cobjptr  ptr = 0,
bool  doRef = false 
)
inlineexplicit

create a RefPtr from the specified cobj

Parameters
ptrthe c-obj pointer to wrap
doRefwhether or not to increase the reference count
Note
since freetype sometimes gives us a pointer which already has a reference count of 1, reference defaults to false.

Definition at line 66 of file RefPtr.h.

template<typename T>
freetype::RefPtr< T >::RefPtr ( const RefPtr< Traits > &  other)
inline

copy construct a pointer, increasing the reference count

Definition at line 74 of file RefPtr.h.

template<typename T>
freetype::RefPtr< T >::~RefPtr ( )
inline

when the RefPtr is destroyed the reference count of the pointed-to object is decreased

Definition at line 82 of file RefPtr.h.

Member Function Documentation

template<typename T>
void freetype::RefPtr< T >::dereference ( )
inlineprivate

decrease reference count by one, see specializations

Definition at line 53 of file RefPtr.h.

template<typename T>
freetype::RefPtr< T >::operator bool ( ) const
inline

Definition at line 137 of file RefPtr.h.

template<typename T>
CPtr<Traits> freetype::RefPtr< T >::operator* ( )
inline

Definition at line 127 of file RefPtr.h.

template<typename T>
ConstCPtr<Traits> freetype::RefPtr< T >::operator* ( ) const
inline

Definition at line 132 of file RefPtr.h.

template<typename T>
template<typename T2 >
LValuePair< RefPtr<Traits>,T2 > freetype::RefPtr< T >::operator, ( T2 &  other)
inline

Definition at line 143 of file RefPtr.h.

template<typename T>
Delegate freetype::RefPtr< T >::operator-> ( )
inline

the member operator, exposes the underlying cobj pointer

Definition at line 117 of file RefPtr.h.

template<typename T>
const Delegate freetype::RefPtr< T >::operator-> ( ) const
inline

Definition at line 122 of file RefPtr.h.

template<typename T>
RefPtr<Traits>& freetype::RefPtr< T >::operator= ( const RefPtr< Traits > &  other)
inline

assignment operator, decreases reference count of current object, increases reference count of copied pointer

Definition at line 108 of file RefPtr.h.

template<typename T>
void freetype::RefPtr< T >::reference ( )
inlineprivate

increase reference count by one, see specializations

Definition at line 50 of file RefPtr.h.

template<typename T>
cobjptr freetype::RefPtr< T >::subvert ( )
inline

return the stored pointer, subverting reference safety, see specializations if Storage is not the same as cobjptr

Definition at line 96 of file RefPtr.h.

template<typename T>
const cobjptr freetype::RefPtr< T >::subvert ( ) const
inline

Definition at line 101 of file RefPtr.h.

template<typename T>
void freetype::RefPtr< T >::unlink ( )
inline

dereference the stored object and turn this into a null pointer

Definition at line 88 of file RefPtr.h.

Member Data Documentation

template<typename T>
Storage freetype::RefPtr< T >::m_ptr
private

Definition at line 47 of file RefPtr.h.


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