LLSafeHandle< Type > Class Template Reference

#include <llmemory.h>

Inheritance diagram for LLSafeHandle< Type >:

Inheritance graph
[legend]
Collaboration diagram for LLSafeHandle< Type >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef Type *(* NullFunc )()

Public Member Functions

 LLSafeHandle ()
 LLSafeHandle (Type *ptr)
 LLSafeHandle (const LLSafeHandle< Type > &ptr)
template<typename Subclass>
 LLSafeHandle (const LLSafeHandle< Subclass > &ptr)
 ~LLSafeHandle ()
const Type * operator-> () const
Type * operator-> ()
Type * get () const
 operator BOOL () const
 operator bool () const
bool operator! () const
bool isNull () const
bool notNull () const
 operator Type * () const
 operator const Type * () const
bool operator!= (Type *ptr) const
bool operator== (Type *ptr) const
bool operator== (const LLSafeHandle< Type > &ptr) const
bool operator< (const LLSafeHandle< Type > &ptr) const
bool operator> (const LLSafeHandle< Type > &ptr) const
LLSafeHandle< Type > & operator= (Type *ptr)
LLSafeHandle< Type > & operator= (const LLSafeHandle< Type > &ptr)
template<typename Subclass>
LLSafeHandle< Type > & operator= (const LLSafeHandle< Subclass > &ptr)

Static Public Attributes

static const NullFunc sNullFunc

Protected Member Functions

void ref ()
void unref ()
void assign (Type *ptr)

Static Protected Member Functions

static Type * nonNull (Type *ptr)

Protected Attributes

Type * mPointer


Detailed Description

template<class Type>
class LLSafeHandle< Type >

Definition at line 250 of file llmemory.h.


Member Typedef Documentation

template<class Type>
typedef Type*(* LLSafeHandle< Type >::NullFunc)()


Constructor & Destructor Documentation

template<class Type>
LLSafeHandle< Type >::LLSafeHandle (  )  [inline]

Definition at line 253 of file llmemory.h.

template<class Type>
LLSafeHandle< Type >::LLSafeHandle ( Type *  ptr  )  [inline]

Definition at line 258 of file llmemory.h.

template<class Type>
LLSafeHandle< Type >::LLSafeHandle ( const LLSafeHandle< Type > &  ptr  )  [inline]

Definition at line 264 of file llmemory.h.

template<class Type>
template<typename Subclass>
LLSafeHandle< Type >::LLSafeHandle ( const LLSafeHandle< Subclass > &  ptr  )  [inline]

Definition at line 272 of file llmemory.h.

template<class Type>
LLSafeHandle< Type >::~LLSafeHandle (  )  [inline]

Definition at line 278 of file llmemory.h.


Member Function Documentation

template<class Type>
const Type* LLSafeHandle< Type >::operator-> (  )  const [inline]

Definition at line 283 of file llmemory.h.

template<class Type>
Type* LLSafeHandle< Type >::operator-> (  )  [inline]

Definition at line 284 of file llmemory.h.

template<class Type>
Type* LLSafeHandle< Type >::get (  )  const [inline]

Definition at line 286 of file llmemory.h.

Referenced by LLSafeHandle< LLObjectSelection >::LLSafeHandle(), and LLSafeHandle< LLObjectSelection >::operator=().

Here is the caller graph for this function:

template<class Type>
LLSafeHandle< Type >::operator BOOL (  )  const [inline]

Definition at line 292 of file llmemory.h.

template<class Type>
LLSafeHandle< Type >::operator bool (  )  const [inline]

Definition at line 293 of file llmemory.h.

template<class Type>
bool LLSafeHandle< Type >::operator! (  )  const [inline]

Definition at line 294 of file llmemory.h.

template<class Type>
bool LLSafeHandle< Type >::isNull (  )  const [inline]

Definition at line 295 of file llmemory.h.

template<class Type>
bool LLSafeHandle< Type >::notNull (  )  const [inline]

Definition at line 296 of file llmemory.h.

template<class Type>
LLSafeHandle< Type >::operator Type * (  )  const [inline]

Definition at line 299 of file llmemory.h.

References LLSafeHandle< Type >::mPointer.

template<class Type>
LLSafeHandle< Type >::operator const Type * (  )  const [inline]

Definition at line 300 of file llmemory.h.

References LLSafeHandle< Type >::mPointer.

template<class Type>
bool LLSafeHandle< Type >::operator!= ( Type *  ptr  )  const [inline]

Definition at line 301 of file llmemory.h.

template<class Type>
bool LLSafeHandle< Type >::operator== ( Type *  ptr  )  const [inline]

Definition at line 302 of file llmemory.h.

template<class Type>
bool LLSafeHandle< Type >::operator== ( const LLSafeHandle< Type > &  ptr  )  const [inline]

Definition at line 303 of file llmemory.h.

template<class Type>
bool LLSafeHandle< Type >::operator< ( const LLSafeHandle< Type > &  ptr  )  const [inline]

Definition at line 304 of file llmemory.h.

template<class Type>
bool LLSafeHandle< Type >::operator> ( const LLSafeHandle< Type > &  ptr  )  const [inline]

Definition at line 305 of file llmemory.h.

template<class Type>
LLSafeHandle<Type>& LLSafeHandle< Type >::operator= ( Type *  ptr  )  [inline]

Definition at line 307 of file llmemory.h.

template<class Type>
LLSafeHandle<Type>& LLSafeHandle< Type >::operator= ( const LLSafeHandle< Type > &  ptr  )  [inline]

Definition at line 313 of file llmemory.h.

template<class Type>
template<typename Subclass>
LLSafeHandle<Type>& LLSafeHandle< Type >::operator= ( const LLSafeHandle< Subclass > &  ptr  )  [inline]

Definition at line 321 of file llmemory.h.

template<class Type>
void LLSafeHandle< Type >::ref (  )  [inline, protected]

Definition at line 332 of file llmemory.h.

Referenced by LLSafeHandle< LLObjectSelection >::assign().

Here is the caller graph for this function:

template<class Type>
void LLSafeHandle< Type >::unref (  )  [inline, protected]

Definition at line 340 of file llmemory.h.

Referenced by LLSafeHandle< LLObjectSelection >::assign(), LLSafeHandle< LLObjectSelection >::unref(), and LLSafeHandle< LLObjectSelection >::~LLSafeHandle().

Here is the caller graph for this function:

template<class Type>
void LLSafeHandle< Type >::assign ( Type *  ptr  )  [inline, protected]

Definition at line 355 of file llmemory.h.

Referenced by LLSafeHandle< LLObjectSelection >::LLSafeHandle(), and LLSafeHandle< LLObjectSelection >::operator=().

Here is the caller graph for this function:

template<class Type>
static Type* LLSafeHandle< Type >::nonNull ( Type *  ptr  )  [inline, static, protected]

Definition at line 365 of file llmemory.h.

Referenced by LLSafeHandle< LLObjectSelection >::operator->().

Here is the caller graph for this function:


Member Data Documentation

template<class Type>
const NullFunc LLSafeHandle< Type >::sNullFunc [static]

Definition at line 329 of file llmemory.h.

Referenced by LLSafeHandle< LLObjectSelection >::nonNull().

template<class Type>
Type* LLSafeHandle< Type >::mPointer [protected]


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

Generated on Fri May 16 09:01:36 2008 for SecondLife by  doxygen 1.5.5