blob: d777ba59ee6c25f846c9a28ec94275f9ab0ce93f [file] [log] [blame]
//
// Copyright © 2017 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//
#pragma once
#include <arm_compute/runtime/ISimpleLifetimeManager.h>
namespace armnn
{
class BlobLifetimeManager : public arm_compute::ISimpleLifetimeManager
{
public:
BlobLifetimeManager();
BlobLifetimeManager(const BlobLifetimeManager&) = delete;
BlobLifetimeManager& operator=(const BlobLifetimeManager&) = delete;
BlobLifetimeManager(BlobLifetimeManager&&) = default;
BlobLifetimeManager& operator=(BlobLifetimeManager&&) = default;
std::unique_ptr<arm_compute::IMemoryPool> create_pool(arm_compute::IAllocator* allocator) override;
arm_compute::MappingType mapping_type() const override;
private:
void update_blobs_and_mappings() override;
std::vector<size_t> m_BlobSizes;
};
} // namespace armnn