15 #ifndef INCG_IRIS_IUTEST_POOL_HPP_60F7CC27_EA15_4AC7_BCA6_80FFDCBC890E_ 
   16 #define INCG_IRIS_IUTEST_POOL_HPP_60F7CC27_EA15_4AC7_BCA6_80FFDCBC890E_ 
   22 #if IUTEST_HAS_LIB && IUTEST_HAS_EXTERN_TEMPLATE 
   24 namespace iutest { 
namespace detail { 
class iuIObject; } }
 
   26 IUTEST_PRAGMA_EXTERN_TEMPLATE_WARN_DISABLE_BEGIN()
 
   28 extern template class ::std::vector< ::
iutest::detail::iuIObject* >;
 
   30 IUTEST_PRAGMA_EXTERN_TEMPLATE_WARN_DISABLE_END()
 
   44     virtual ~iuIObject() {}
 
   52     typedef ::std::vector<iuIObject*> pool;
 
   55     typedef iuIObject *value_ptr;
 
   61         for( pool::iterator it=m_pool.begin(); it != m_pool.end(); )
 
   64             it = m_pool.erase(it);
 
   69     void push(value_ptr ptr) { m_pool.push_back(ptr); }
 
   71     static iuPool& GetInstance() { 
static iuPool inst; 
return inst; }
 
   77 #endif // INCG_IRIS_IUTEST_POOL_HPP_60F7CC27_EA15_4AC7_BCA6_80FFDCBC890E_