This library provides .
Classes | |
| class | interface_ptr |
| [DEPRECATED] Manages a COM interface pointer, ensuring that it is released More... | |
| class | proxy_ptr |
| This class emulates a pointer in all respects, and is useful as a generic code testing tool, and is simply an aid to self-documentation. More... | |
| class | ref_ptr |
| This class provides RAII-safe handling of reference-counted interfaces (RCIs). More... | |
| class | scoped_handle |
| Provides automated scope-based cleanup of arbitrary resource types without any memory allocation required to implement the generic support. More... | |
| class | shared_ptr |
| This class enables sharing of arbitrary types. More... | |
Functions | |
| template<typename T> | |
| T * | get_ptr (proxy_ptr< T > const &p) |
| get_ptr shim | |
| template<typename I> | |
| void | add_reference (I *pi) |
| Control shim for adding a reference on a reference-counted interface (RCI). | |
| template<typename I> | |
| void | release_reference (I *pi) |
| Control shim for releasing a reference on a reference-counted interface (RCI). | |
| template<typename T, typename I, typename U> | |
| bool | is_empty (ref_ptr< T, I, U > const &p) |
| is_empty shim | |
| template<typename T, typename I, typename U> | |
| T * | get_ptr (ref_ptr< T, I, U > const &p) |
| get_ptr shim | |
| template<typename S, typename T, typename I, typename U> | |
| S & | operator<< (S &s, ref_ptr< T, I, U > const &p) |
| Insertion operator shim. | |
| template<typename T> | |
| T * | get_ptr (shared_ptr< T > const &p) |
| get_ptr shim | |
| template<typename S, typename T> | |
| S & | operator<< (S &s, shared_ptr< T > const &p) |
| Insertion operator shim. | |
| void stlsoft::add_reference | ( | I * | pi | ) | [inline] |
Control shim for adding a reference on a reference-counted interface (RCI).
The behaviour of the ref_ptr is undefined if this method throws an exception
References STLSOFT_ASSERT.
Referenced by ref_ptr< T >::ref_ptr().
| T* stlsoft::get_ptr | ( | shared_ptr< T > const & | p | ) | [inline] |
| T* stlsoft::get_ptr | ( | ref_ptr< T, I, U > const & | p | ) | [inline] |
| T* stlsoft::get_ptr | ( | proxy_ptr< T > const & | p | ) | [inline] |
| bool stlsoft::is_empty | ( | ref_ptr< T, I, U > const & | p | ) | [inline] |
| S& stlsoft::operator<< | ( | S & | s, | |
| shared_ptr< T > const & | p | |||
| ) | [inline] |
Insertion operator shim.
| S& stlsoft::operator<< | ( | S & | s, | |
| ref_ptr< T, I, U > const & | p | |||
| ) | [inline] |
Insertion operator shim.
| void stlsoft::release_reference | ( | I * | pi | ) | [inline] |
Control shim for releasing a reference on a reference-counted interface (RCI).
The behaviour of the ref_ptr is undefined if this method throws an exception
References STLSOFT_ASSERT.
Referenced by ref_ptr< T >::close(), and ref_ptr< T >::~ref_ptr().
1.5.6