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 ))
{}
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 ))
{}