#include <iostream>
#include <algorithm>
#include <boost/static_assert.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/type_traits/is_base_of.hpp>
#include <boost/type_traits/is_convertible.hpp>
#include <toast/detail/unintrusive_impl.hpp>
Go to the source code of this file.
Namespaces | |
namespace | toast |
namespace | toast::detail |
Classes | |
class | toast::unintrusive_ptr< T > |
An unintrusive smart pointer that is faster than boost::shared_ptr. More... | |
Functions | |
template<class T> | |
int | toast::detail::get_use_count (unintrusive_ptr< T > const &x) |
template<class T> | |
bool | toast::detail::get_unique (unintrusive_ptr< T > const &x) |
template<class X, class Y> | |
bool | toast::operator== (unintrusive_ptr< X > const &a, unintrusive_ptr< Y > const &b) |
template<class X, class Y> | |
bool | toast::operator!= (unintrusive_ptr< X > const &a, unintrusive_ptr< Y > const &b) |
template<class X, class Y> | |
bool | toast::operator< (unintrusive_ptr< X > const &a, unintrusive_ptr< Y > const &b) |
template<class T> | |
void | toast::swap (unintrusive_ptr< T > &a, unintrusive_ptr< T > &b) |
template<class T> | |
T * | toast::get_pointer (unintrusive_ptr< T > const &p) |
template<class T, class U> | |
unintrusive_ptr< T > | toast::static_pointer_cast (unintrusive_ptr< U > const &r) |
template<class T, class U> | |
unintrusive_ptr< T > | toast::const_pointer_cast (unintrusive_ptr< U > const &r) |
template<class T, class U> | |
unintrusive_ptr< T > | toast::dynamic_pointer_cast (unintrusive_ptr< U > const &r) |