#include <ETL/handle>
Public Types | |
typedef T | value_type |
typedef T & | reference |
typedef const T & | const_reference |
typedef T * | pointer |
typedef const T * | const_pointer |
typedef int | count_type |
typedef int | size_type |
Public Member Functions | |
rhandle () | |
Default constructor - empty handle. | |
rhandle (pointer x) | |
Constructor that constructs from a pointer to new object. | |
rhandle (const handle< value_type > &x) | |
rhandle (const rhandle< value_type > &x) | |
Default copy constructor. | |
~rhandle () | |
Handle is released on deletion. | |
rhandle< value_type > & | operator= (const rhandle< value_type > &x) |
Template Assignment operator. | |
rhandle< value_type > & | operator= (const handle< value_type > &x) |
Template Assignment operator. | |
rhandle< value_type > & | operator= (value_type *x) |
void | detach () |
Handle release procedure. | |
void | reset () |
void | spawn () |
Creates a new instance of a T object and puts it in the handle. | |
count_type | rcount () const |
Returns number of reversible instances. | |
bool | runique () const |
Returns true if there is only one instance of the object. | |
int | replace (const handle< value_type > &x) |
handle< value_type > & | swap (handle< value_type > &x) |
Swaps the values of two handles without reference counts. | |
Private Member Functions | |
void | add_to_rlist () |
void | del_from_rlist () |
Private Attributes | |
rhandle< value_type > * | prev_ |
rhandle< value_type > * | next_ |
Friends | |
class | rshared_object |
Definition at line 353 of file _handle.h.
typedef T rhandle< T >::value_type |
typedef const T& rhandle< T >::const_reference |
typedef const T* rhandle< T >::const_pointer |
typedef int rhandle< T >::count_type |
Constructor that constructs from a pointer to new object.
Definition at line 437 of file _handle.h.
References rhandle< T >::add_to_rlist(), and handle< T >::obj.
rhandle< T >::rhandle | ( | const handle< value_type > & | x | ) | [inline] |
rhandle< T >::rhandle | ( | const rhandle< value_type > & | x | ) | [inline] |
Default copy constructor.
Definition at line 450 of file _handle.h.
References rhandle< T >::add_to_rlist(), and handle< T >::obj.
Handle is released on deletion.
Definition at line 457 of file _handle.h.
References rhandle< T >::detach().
void rhandle< T >::add_to_rlist | ( | ) | [inline, private] |
Definition at line 385 of file _handle.h.
References rhandle< T >::next_, handle< T >::obj, and rhandle< T >::prev_.
Referenced by rhandle< T >::operator=(), and rhandle< T >::rhandle().
void rhandle< T >::del_from_rlist | ( | ) | [inline, private] |
rhandle<value_type>& rhandle< T >::operator= | ( | const rhandle< value_type > & | x | ) | [inline] |
rhandle<value_type>& rhandle< T >::operator= | ( | const handle< value_type > & | x | ) | [inline] |
Template Assignment operator.
Reimplemented from handle< T >.
Definition at line 502 of file _handle.h.
References rhandle< T >::add_to_rlist(), rhandle< T >::detach(), handle< T >::get(), and handle< T >::obj.
rhandle<value_type>& rhandle< T >::operator= | ( | value_type * | x | ) | [inline] |
Definition at line 520 of file _handle.h.
References rhandle< T >::add_to_rlist(), rhandle< T >::detach(), and handle< T >::obj.
void rhandle< T >::detach | ( | ) | [inline] |
Handle release procedure.
unref()'s the object and sets the internal object pointer to NULL
Reimplemented from handle< T >.
Definition at line 540 of file _handle.h.
References rhandle< T >::del_from_rlist(), handle< T >::detach(), and handle< T >::obj.
Referenced by rhandle< T >::operator=(), rhandle< T >::reset(), and rhandle< T >::~rhandle().
void rhandle< T >::reset | ( | ) | [inline] |
Reimplemented from handle< T >.
Definition at line 551 of file _handle.h.
References rhandle< T >::detach().
void rhandle< T >::spawn | ( | ) | [inline] |
Creates a new instance of a T object and puts it in the handle.
Uses the default constructor
Reimplemented from handle< T >.
count_type rhandle< T >::rcount | ( | ) | const [inline] |
bool rhandle< T >::runique | ( | ) | const [inline] |
int rhandle< T >::replace | ( | const handle< value_type > & | x | ) | [inline] |
Definition at line 574 of file _handle.h.
References handle< T >::get(), rhandle< T >::next_, and handle< T >::obj.
handle<value_type>& rhandle< T >::swap | ( | handle< value_type > & | x | ) |
Swaps the values of two handles without reference counts.
Reimplemented from handle< T >.
friend class rshared_object [friend] |
rhandle<value_type>* rhandle< T >::prev_ [private] |
rhandle<value_type>* rhandle< T >::next_ [private] |
Definition at line 383 of file _handle.h.
Referenced by rhandle< T >::add_to_rlist(), and rhandle< T >::replace().