24.02.1
|
Go to the documentation of this file.
24 #ifndef ARM_COMPUTE_POOLMANAGER_H
25 #define ARM_COMPUTE_POOLMANAGER_H
58 void register_pool(std::unique_ptr<IMemoryPool> pool)
override;
64 std::list<std::unique_ptr<IMemoryPool>> _free_pools;
65 std::list<std::unique_ptr<IMemoryPool>> _occupied_pools;
66 std::unique_ptr<arm_compute::Semaphore> _sem;
IMemoryPool * lock_pool() override
Locks a pool for execution.
void register_pool(std::unique_ptr< IMemoryPool > pool) override
Register pool to be managed by the pool.
std::unique_ptr< IMemoryPool > release_pool() override
Releases a free pool from the managed pools.
void clear_pools() override
Clears all pools managed by the pool manager.
PoolManager & operator=(const PoolManager &)=delete
Prevent instances of this class to be copied.
std::mutex Mutex
Wrapper of Mutex data-object.
Memory pool manager interface.
PoolManager()
Default Constructor.
Copyright (c) 2017-2024 Arm Limited.
size_t num_pools() const override
Returns the total number of pools managed by the pool manager.
void unlock_pool(IMemoryPool *pool) override
Releases memory pool.