yasper::ptr< X > Class Template Reference

#include <yasper.h>

Collaboration diagram for yasper::ptr< X >:
[legend]

List of all members.

Classes

struct  Counter

Public Types

typedef X element_type

Public Member Functions

 ptr ()
 ptr (X *raw)
template<typename Y >
 ptr (Y *raw)
 ptr (const ptr< X > &otherPtr)
template<typename Y >
 ptr (const ptr< Y > &otherPtr)
 ~ptr ()
ptroperator= (const ptr< X > &otherPtr)
template<typename Y >
ptroperator= (const ptr< Y > &otherPtr)
ptroperator= (X *raw)
template<typename Y >
ptroperator= (Y *raw)
ptroperator= (long num)
X * operator-> () const
X & operator* () const
 operator bool () const
template<typename Y >
 operator Y * () const
template<typename Y >
 operator const Y * () const
X * GetRawPointer () const
bool IsUnique () const
bool IsValid () const
unsigned GetCount () const

Private Member Functions

void acquire (Counter *c)
void release ()

Private Attributes

X * rawPtr
Countercounter

Friends

class ptr


Detailed Description

template<typename X>
class yasper::ptr< X >

Definition at line 63 of file yasper.h.


Member Typedef Documentation

template<typename X>
typedef X yasper::ptr< X >::element_type

Definition at line 67 of file yasper.h.


Constructor & Destructor Documentation

template<typename X>
yasper::ptr< X >::ptr (  )  [inline]

Definition at line 78 of file yasper.h.

template<typename X>
yasper::ptr< X >::ptr ( X *  raw  )  [inline]

Definition at line 85 of file yasper.h.

template<typename X>
template<typename Y >
yasper::ptr< X >::ptr ( Y *  raw  )  [inline]

Definition at line 95 of file yasper.h.

template<typename X>
yasper::ptr< X >::ptr ( const ptr< X > &  otherPtr  )  [inline]

Definition at line 107 of file yasper.h.

template<typename X>
template<typename Y >
yasper::ptr< X >::ptr ( const ptr< Y > &  otherPtr  )  [inline]

Definition at line 114 of file yasper.h.

template<typename X>
yasper::ptr< X >::~ptr (  )  [inline]

Definition at line 124 of file yasper.h.


Member Function Documentation

template<typename X>
void yasper::ptr< X >::acquire ( Counter c  )  [inline, private]

Definition at line 293 of file yasper.h.

template<typename X>
unsigned yasper::ptr< X >::GetCount (  )  const [inline]

Definition at line 275 of file yasper.h.

template<typename X>
X* yasper::ptr< X >::GetRawPointer (  )  const [inline]

Definition at line 253 of file yasper.h.

template<typename X>
bool yasper::ptr< X >::IsUnique (  )  const [inline]

Definition at line 263 of file yasper.h.

template<typename X>
bool yasper::ptr< X >::IsValid ( void   )  const [inline]

Definition at line 269 of file yasper.h.

template<typename X>
yasper::ptr< X >::operator bool (  )  const [inline]

Definition at line 231 of file yasper.h.

template<typename X>
template<typename Y >
yasper::ptr< X >::operator const Y * (  )  const [inline]

Definition at line 243 of file yasper.h.

template<typename X>
template<typename Y >
yasper::ptr< X >::operator Y * (  )  const [inline]

Definition at line 237 of file yasper.h.

template<typename X>
X& yasper::ptr< X >::operator* ( void   )  const [inline]

Definition at line 222 of file yasper.h.

template<typename X>
X* yasper::ptr< X >::operator-> ( void   )  const [inline]

Definition at line 213 of file yasper.h.

template<typename X>
ptr& yasper::ptr< X >::operator= ( long  num  )  [inline]

Definition at line 193 of file yasper.h.

template<typename X>
template<typename Y >
ptr& yasper::ptr< X >::operator= ( Y *  raw  )  [inline]

Definition at line 175 of file yasper.h.

template<typename X>
ptr& yasper::ptr< X >::operator= ( X *  raw  )  [inline]

Definition at line 163 of file yasper.h.

template<typename X>
template<typename Y >
ptr& yasper::ptr< X >::operator= ( const ptr< Y > &  otherPtr  )  [inline]

Definition at line 145 of file yasper.h.

template<typename X>
ptr& yasper::ptr< X >::operator= ( const ptr< X > &  otherPtr  )  [inline]

Definition at line 133 of file yasper.h.

template<typename X>
void yasper::ptr< X >::release (  )  [inline, private]

Definition at line 303 of file yasper.h.


Friends And Related Function Documentation

template<typename X>
friend class ptr [friend]

Definition at line 73 of file yasper.h.


Member Data Documentation

template<typename X>
Counter* yasper::ptr< X >::counter [private]

Definition at line 290 of file yasper.h.

template<typename X>
X* yasper::ptr< X >::rawPtr [private]

Definition at line 282 of file yasper.h.


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

Generated on Fri Feb 6 13:30:19 2009 for CorAL by  doxygen 1.5.8