23 QMutexLocker l(&m_owner->m_mutex);
24 m_owner->m_available.append(m_t);
26 _T_* ressource()
const {
return m_t; }
31 using Handle = QExplicitlySharedDataPointer<Handle_>;
36 QMutexLocker l(&m_mutex);
37 clog_assert(m_available.size() == m_resources.size());
40 qDeleteAll(m_resources);
45 Handle h(
new Handle_);
47 QMutexLocker l(&m_mutex);
48 if(m_available.isEmpty())
51 m_resources.append(h->m_t);
55 h->m_t = m_available.takeFirst();
60 bool m_free_resources;