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_