BOOST_NO_TYPEID support (#1108).

[SVN r38977]
This commit is contained in:
Peter Dimov
2007-08-26 20:35:52 +00:00
parent e0ca42bb88
commit b2354d0a5e

View File

@@ -453,7 +453,7 @@ public:
return pn < rhs.pn; return pn < rhs.pn;
} }
void * _internal_get_deleter(std::type_info const & ti) const void * _internal_get_deleter( detail::sp_typeinfo const & ti ) const
{ {
return pn.get_deleter( ti ); return pn.get_deleter( ti );
} }
@@ -594,7 +594,7 @@ template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::
template<class D, class T> D * get_deleter(shared_ptr<T> const & p) template<class D, class T> D * get_deleter(shared_ptr<T> const & p)
{ {
void const * q = p._internal_get_deleter(typeid(D)); void const * q = p._internal_get_deleter(BOOST_SP_TYPEID(D));
return const_cast<D *>(static_cast<D const *>(q)); return const_cast<D *>(static_cast<D const *>(q));
} }
@@ -602,7 +602,7 @@ template<class D, class T> D * get_deleter(shared_ptr<T> const & p)
template<class D, class T> D * get_deleter(shared_ptr<T> const & p) template<class D, class T> D * get_deleter(shared_ptr<T> const & p)
{ {
return static_cast<D *>(p._internal_get_deleter(typeid(D))); return static_cast<D *>(p._internal_get_deleter(BOOST_SP_TYPEID(D)));
} }
#endif #endif