{}
/// Typecasting ctor
+ template <typename T>
+ retired_ptr( T* p, free_retired_ptr_func func) CDS_NOEXCEPT
+ : m_p( reinterpret_cast<pointer>(p))
+ , m_funcFree( func )
+ {}
+/*
template <typename T>
retired_ptr( T * p, void (* pFreeFunc)(T *)) CDS_NOEXCEPT
: m_p( reinterpret_cast<pointer>(p))
, m_funcFree( reinterpret_cast< free_retired_ptr_func >( pFreeFunc ))
{}
+*/
/// Assignment operator
retired_ptr& operator =( retired_ptr const& s) CDS_NOEXCEPT