reSIProcate/rutil  9694
Classes | Namespaces | Functions
SharedPtr.hxx File Reference

Defines a reference-counted pointer class. More...

#include "rutil/SharedCount.hxx"
#include <memory>
#include <algorithm>
#include <functional>
#include <typeinfo>
#include <iosfwd>
#include <cassert>
Include dependency graph for SharedPtr.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  resip::static_cast_tag
struct  resip::const_cast_tag
struct  resip::dynamic_cast_tag
struct  resip::polymorphic_cast_tag
struct  resip::SharedPtr_traits< T >
struct  resip::SharedPtr_traits< void >
struct  resip::SharedPtr_traits< void const >
struct  resip::SharedPtr_traits< void volatile >
struct  resip::SharedPtr_traits< void const volatile >
class  resip::SharedPtr< T >
 Implements reference counted copy semantics for a class T. More...

Namespaces

namespace  resip
 

dcm! -- add UnusedChecking(_enum) below;


Functions

template<class T , class Y >
void resip::sp_enable_shared_from_this (shared_count const &pn, resip::enable_shared_from_this< T > const *pe, Y const *px)
void resip::sp_enable_shared_from_this (shared_count const &,...)
template<class T , class U >
bool resip::operator== (SharedPtr< T > const &a, SharedPtr< U > const &b)
template<class T , class U >
bool resip::operator!= (SharedPtr< T > const &a, SharedPtr< U > const &b)
template<class T , class U >
bool resip::operator< (SharedPtr< T > const &a, SharedPtr< U > const &b)
template<class T >
void resip::swap (SharedPtr< T > &a, SharedPtr< T > &b)
template<class T , class U >
SharedPtr< T > resip::static_pointer_cast (SharedPtr< U > const &r)
template<class T , class U >
SharedPtr< T > resip::const_pointer_cast (SharedPtr< U > const &r)
template<class T , class U >
SharedPtr< T > resip::dynamic_pointer_cast (SharedPtr< U > const &r)
template<class T , class U >
SharedPtr< T > resip::shared_static_cast (SharedPtr< U > const &r)
template<class T , class U >
SharedPtr< T > resip::shared_dynamic_cast (SharedPtr< U > const &r)
template<class T , class U >
SharedPtr< T > resip::shared_polymorphic_cast (SharedPtr< U > const &r)
template<class T , class U >
SharedPtr< T > resip::shared_polymorphic_downcast (SharedPtr< U > const &r)
template<class T >
T * resip::get_pointer (SharedPtr< T > const &p)
template<class E , class T , class Y >
std::basic_ostream< E, T > & resip::operator<< (std::basic_ostream< E, T > &os, SharedPtr< Y > const &p)
template<class D , class T >
D * resip::get_deleter (SharedPtr< T > const &p)

Detailed Description

Defines a reference-counted pointer class.

Note:
This implementation is a modified version of shared_ptr from Boost.org. License text is below.

http://www.boost.org/libs/smart_ptr/shared_ptr.htm

Definition in file SharedPtr.hxx.