6 #ifndef H_POTTU_SHAREDRESOURCEPOOL
7 #define H_POTTU_SHAREDRESOURCEPOOL
21 void operator()(
typename Pool::resource_t *e ) {
23 _pool->_returnToPool( e );
40 using resource_t = Ev;
54 for(
auto &ev : _pool )
69 std::vector<Ev *> _pool;
70 size_t _eventsAllocated{0};
71 size_t _eventsGiven{0};
72 size_t _eventsReturned{0};
73 logical_event_handle_t get() noexcept {
76 Ev *e{ _pool.back() };
78 return logical_event_handle_t{ e, resource_deleter_t(
this) };
83 return logical_event_handle_t{ p, resource_deleter_t(
this) };
88 friend resource_deleter_t;
92 void _returnToPool( Ev *e ) noexcept {
101 static void _releaseResourceNoPool( Ev *e ) noexcept {
Handle for a resource derived from SharedResource.
Definition: memory.hpp:43
Pool for SharedResource derived objects.
Definition: SharedResourcePool.hpp:37
SharedResourcePool()
Constructor.
Definition: SharedResourcePool.hpp:47
~SharedResourcePool()
Destructor.
Definition: SharedResourcePool.hpp:53
Definition: mainpage.dox:6
Definition: SharedResourcePool.hpp:17