template< typename T > void utilspp::PrivateMembers::Deleter< T >::deleteObject( T *obj ) { delete obj; } template< typename T, typename TDestroyer > utilspp::PrivateMembers::ConcreteLifetimeTracker< T, TDestroyer >::ConcreteLifetimeTracker( T *obj, unsigned int longevity, TDestroyer d) : LifetimeTracker( longevity ) , mTracked( obj ) , mDestroyer( d ) {} template< typename T, typename TDestroyer > utilspp::PrivateMembers::ConcreteLifetimeTracker< T, TDestroyer >::~ConcreteLifetimeTracker() { mDestroyer( mTracked ); } template < typename T > void utilspp::PrivateMembers::adapter< T >::operator()(T*) { return (*mFunc)(); }