aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/tr1/boost_shared_ptr.h
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/include/tr1/boost_shared_ptr.h')
-rw-r--r--libstdc++-v3/include/tr1/boost_shared_ptr.h27
1 files changed, 13 insertions, 14 deletions
diff --git a/libstdc++-v3/include/tr1/boost_shared_ptr.h b/libstdc++-v3/include/tr1/boost_shared_ptr.h
index 8f95ead7dd5..01250aa107c 100644
--- a/libstdc++-v3/include/tr1/boost_shared_ptr.h
+++ b/libstdc++-v3/include/tr1/boost_shared_ptr.h
@@ -674,27 +674,20 @@ template <typename _Tp>
_M_refcount.swap(__other._M_refcount);
}
+ void*
+ _M_get_deleter(const std::type_info& __ti) const
+ { return _M_refcount.get_deleter(__ti); }
+
private:
template <typename _Tp1>
bool
_M_less(const shared_ptr<_Tp1>& __rhs) const
{ return _M_refcount < __rhs._M_refcount; }
- void*
- _M_get_deleter(const std::type_info& __ti) const
- { return _M_refcount.get_deleter(__ti); }
-
template <typename _Tp1> friend class shared_ptr;
template <typename _Tp1> friend class weak_ptr;
// friends injected into enclosing namespace and found by ADL:
-
- // get_deleter (experimental)
- template <typename _Del>
- friend inline _Del*
- get_deleter(const shared_ptr& __p)
- { return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del))); }
-
template <typename _Tp1>
friend inline bool
operator==(const shared_ptr& __a, const shared_ptr<_Tp1>& __b)
@@ -752,15 +745,21 @@ template <typename _Tp, typename _Tp1>
return shared_ptr<_Tp>(__r, __dynamic_cast_tag());
}
-// operator<<
+// 2.2.3.7 shared_ptr I/O
template <typename _Ch, typename _Tr, typename _Tp>
- std::basic_ostream<_Ch,_Tr>&
- operator<<(std::basic_ostream<_Ch,_Tr>& __os, const shared_ptr<_Tp>& __p)
+ std::basic_ostream<_Ch, _Tr>&
+ operator<<(std::basic_ostream<_Ch, _Tr>& __os, const shared_ptr<_Tp>& __p)
{
__os << __p.get();
return __os;
}
+// 2.2.3.10 shared_ptr get_deleter (experimental)
+template <typename _Del, typename _Tp>
+ inline _Del*
+ get_deleter(const shared_ptr<_Tp>& __p)
+ { return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del))); }
+
template <typename _Tp>
class weak_ptr