1 #ifndef MY_MEMORY_POOL_H 2 #define MY_MEMORY_POOL_H 4 #define TBB_PREVIEW_MEMORY_POOL 1 6 #include "tbb/memory_pool.h" 7 #include "tbb/enumerable_thread_specific.h" 21 std::allocator<T> my_pool;
22 std::list<T> data_list;
24 tbb::memory_pool<std::allocator<T>> my_pool;
25 typedef tbb::memory_pool_allocator<T> pool_allocator_t;
26 std::list<T, pool_allocator_t> data_list;
28 std::list<T *> free_list;
44 if (free_list.empty())
46 data_list.emplace_back(T());
47 return (&data_list.back());
51 T *result = free_list.front();
52 free_list.pop_front();
59 free_list.push_back(ptr);
64 return data_list.size();
69 return free_list.size();
73 #endif // MY_MEMORY_POOL_H Definition: particle_sorting.h:38
Note that the data package T should has a default constructor.
Definition: my_memory_pool.h:17