lifetimelibrary.inl

来自「sip 开源代码 源于novell sip 开源代码 源于novell」· INL 代码 · 共 34 行

INL
34
字号
template< typename T, typename TDestroyer >voidutilspp::setLibraryLongevity( T *obj, unsigned int longevity, TDestroyer d ){   using namespace utilspp::PrivateMembers;      LifetimeTracker *p = new ConcreteLifetimeTracker< T, TDestroyer >(          obj, longevity, d);   utilspp::LifetimeLibrarySingleton::instance().add( p );};template< typename T >void utilspp::LifetimeLibrary< T >::scheduleDestruction( T *obj, void (*func)() ){   utilspp::PrivateMembers::adapter<T> adapter = { func };   utilspp::setLibraryLongevity( obj, getLongevity( obj ), adapter );}template< typename T >void utilspp::LifetimeLibrary< T >::onDeadReference(){   throw std::logic_error("Dead reference detected");}template< typename T >utilspp::LifetimeLibraryGuard< T >::~LifetimeLibraryGuard(){  T::instance().terminate();}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?