# _handle.h File Reference

Template Object Handle Implementation. More...

`#include <cassert>`

Go to the source code of this file.

## Classes

class | shared_object
| Shared Object Base Class. More...
class | virtual_shared_object
| Virtual Shared Object Base Class. More...
class | handle< T >
| Object Handle. More...
class | rshared_object
| Replaceable Shared Object Base Class. More...
class | rhandle< T >
| Replaceable Object Handle. More...
class | loose_handle< T >
| Loose Object Handle. More...

## Defines

#define | ETL_SELF_DELETING_SHARED_OBJECT
#define | assert_cast dynamic_cast

## Functions

template<class T, class U>
bool | operator== (const handle< T > &lhs, const handle< U > &rhs)
template<class T, class U>
bool | operator== (const loose_handle< T > &lhs, const loose_handle< U > &rhs)
template<class T, class U>
bool | operator== (const handle< T > &lhs, const loose_handle< U > &rhs)
template<class T, class U>
bool | operator== (const loose_handle< T > &lhs, const handle< U > &rhs)
template<class T>
bool | operator== (const handle< T > &lhs, const T *rhs)
template<class T>
bool | operator== (const loose_handle< T > &lhs, const T *rhs)
template<class T>
bool | operator== (const T *lhs, const handle< T > &rhs)
template<class T>
bool | operator== (const T *lhs, const loose_handle< T > &rhs)
template<class T, class U>
bool | operator!= (const handle< T > &lhs, const handle< U > &rhs)
template<class T, class U>
bool | operator!= (const loose_handle< T > &lhs, const loose_handle< U > &rhs)
template<class T, class U>
bool | operator!= (const handle< T > &lhs, const loose_handle< U > &rhs)
template<class T, class U>
bool | operator!= (const loose_handle< T > &lhs, const handle< U > &rhs)
template<class T>
bool | operator!= (const handle< T > &lhs, const T *rhs)
template<class T>
bool | operator!= (const loose_handle< T > &lhs, const T *rhs)
template<class T>
bool | operator!= (const T *lhs, const handle< T > &rhs)
template<class T>
bool | operator!= (const T *lhs, const loose_handle< T > &rhs)
template<class T, class U>
bool | operator< (const handle< T > &lhs, const handle< U > &rhs)
template<class T, class U>
bool | operator< (const loose_handle< T > &lhs, const loose_handle< U > &rhs)
template<class T, class U>
bool | operator< (const handle< T > &lhs, const loose_handle< U > &rhs)
template<class T, class U>
bool | operator< (const loose_handle< T > &lhs, const handle< U > &rhs)
template<class T>
bool | operator< (const handle< T > &lhs, const T *rhs)
template<class T>
bool | operator< (const loose_handle< T > &lhs, const T *rhs)
template<class T>
bool | operator< (const T *lhs, const handle< T > &rhs)
template<class T>
bool | operator< (const T *lhs, const loose_handle< T > &rhs)

## Detailed Description

Template Object Handle Implementation.

$Id$

Definition in file _handle.h.

## Define Documentation

#define ETL_SELF_DELETING_SHARED_OBJECT

Definition at line 41 of file _handle.h.

#define assert_cast dynamic_cast

Definition at line 48 of file _handle.h.

## Function Documentation

template<class T, class U>

bool operator== | ( | const handle< T > & | lhs,
|  | const handle< U > & | rhs |
| ) |  |  | `[inline]`

Definition at line 793 of file _handle.h.

References handle< T >::get().

template<class T, class U>

bool operator== | ( | const loose_handle< T > & | lhs,
|  | const loose_handle< U > & | rhs |
| ) |  |  | `[inline]`

Definition at line 794 of file _handle.h.

References loose_handle< T >::get().

template<class T, class U>

bool operator== | ( | const handle< T > & | lhs,
|  | const loose_handle< U > & | rhs |
| ) |  |  | `[inline]`

Definition at line 795 of file _handle.h.

References loose_handle< T >::get(), and handle< T >::get().

template<class T, class U>

bool operator== | ( | const loose_handle< T > & | lhs,
|  | const handle< U > & | rhs |
| ) |  |  | `[inline]`

Definition at line 796 of file _handle.h.

References handle< T >::get(), and loose_handle< T >::get().

template<class T>

bool operator== | ( | const handle< T > & | lhs,
|  | const T * | rhs |
| ) |  |  | `[inline]`

Definition at line 797 of file _handle.h.

References handle< T >::get().

template<class T>

bool operator== | ( | const loose_handle< T > & | lhs,
|  | const T * | rhs |
| ) |  |  | `[inline]`

Definition at line 798 of file _handle.h.

References loose_handle< T >::get().

template<class T>

bool operator== | ( | const T * | lhs,
|  | const handle< T > & | rhs |
| ) |  |  | `[inline]`

Definition at line 799 of file _handle.h.

References handle< T >::get().

template<class T>

bool operator== | ( | const T * | lhs,
|  | const loose_handle< T > & | rhs |
| ) |  |  | `[inline]`

Definition at line 800 of file _handle.h.

References loose_handle< T >::get().

template<class T, class U>

bool operator!= | ( | const handle< T > & | lhs,
|  | const handle< U > & | rhs |
| ) |  |  | `[inline]`

Definition at line 803 of file _handle.h.

References handle< T >::get().

template<class T, class U>

bool operator!= | ( | const loose_handle< T > & | lhs,
|  | const loose_handle< U > & | rhs |
| ) |  |  | `[inline]`

Definition at line 804 of file _handle.h.

References loose_handle< T >::get().

template<class T, class U>

bool operator!= | ( | const handle< T > & | lhs,
|  | const loose_handle< U > & | rhs |
| ) |  |  | `[inline]`

Definition at line 805 of file _handle.h.

References loose_handle< T >::get(), and handle< T >::get().

template<class T, class U>

bool operator!= | ( | const loose_handle< T > & | lhs,
|  | const handle< U > & | rhs |
| ) |  |  | `[inline]`

Definition at line 806 of file _handle.h.

References handle< T >::get(), and loose_handle< T >::get().

template<class T>

bool operator!= | ( | const handle< T > & | lhs,
|  | const T * | rhs |
| ) |  |  | `[inline]`

Definition at line 807 of file _handle.h.

References handle< T >::get().

template<class T>

bool operator!= | ( | const loose_handle< T > & | lhs,
|  | const T * | rhs |
| ) |  |  | `[inline]`

Definition at line 808 of file _handle.h.

References loose_handle< T >::get().

template<class T>

bool operator!= | ( | const T * | lhs,
|  | const handle< T > & | rhs |
| ) |  |  | `[inline]`

Definition at line 809 of file _handle.h.

References handle< T >::get().

template<class T>

bool operator!= | ( | const T * | lhs,
|  | const loose_handle< T > & | rhs |
| ) |  |  | `[inline]`

Definition at line 810 of file _handle.h.

References loose_handle< T >::get().

template<class T, class U>

bool operator< | ( | const handle< T > & | lhs,
|  | const handle< U > & | rhs |
| ) |  |  | `[inline]`

Definition at line 813 of file _handle.h.

template<class T, class U>

bool operator< | ( | const loose_handle< T > & | lhs,
|  | const loose_handle< U > & | rhs |
| ) |  |  | `[inline]`

Definition at line 814 of file _handle.h.

template<class T, class U>

bool operator< | ( | const handle< T > & | lhs,
|  | const loose_handle< U > & | rhs |
| ) |  |  | `[inline]`

Definition at line 815 of file _handle.h.

template<class T, class U>

bool operator< | ( | const loose_handle< T > & | lhs,
|  | const handle< U > & | rhs |
| ) |  |  | `[inline]`

Definition at line 816 of file _handle.h.

template<class T>

bool operator< | ( | const handle< T > & | lhs,
|  | const T * | rhs |
| ) |  |  | `[inline]`

Definition at line 817 of file _handle.h.

template<class T>

bool operator< | ( | const loose_handle< T > & | lhs,
|  | const T * | rhs |
| ) |  |  | `[inline]`

Definition at line 818 of file _handle.h.

template<class T>

bool operator< | ( | const T * | lhs,
|  | const handle< T > & | rhs |
| ) |  |  | `[inline]`

Definition at line 819 of file _handle.h.

template<class T>

bool operator< | ( | const T * | lhs,
|  | const loose_handle< T > & | rhs |
| ) |  |  | `[inline]`

Definition at line 820 of file _handle.h.