blob: 12831930527d462abccb82b47f05a36134f83e5d [file] [log] [blame]
telsoa01c577f2c2018-08-31 09:22:23 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
David Beckecb56cd2018-09-05 12:52:57 +01003// SPDX-License-Identifier: MIT
telsoa01c577f2c2018-08-31 09:22:23 +01004//
5#pragma once
6
Aron Virginas-Tarf9aeef02018-10-12 15:18:03 +01007#include <arm_compute/runtime/ISimpleLifetimeManager.h>
telsoa01c577f2c2018-08-31 09:22:23 +01008
9namespace armnn
10{
11
12class OffsetLifetimeManager : public arm_compute::ISimpleLifetimeManager
13{
14public:
15 OffsetLifetimeManager();
16
17 OffsetLifetimeManager(const OffsetLifetimeManager&) = delete;
18
19 OffsetLifetimeManager& operator=(const OffsetLifetimeManager&) = delete;
20
21 OffsetLifetimeManager(OffsetLifetimeManager&&) = default;
22
23 OffsetLifetimeManager& operator=(OffsetLifetimeManager&&) = default;
24
25 std::unique_ptr<arm_compute::IMemoryPool> create_pool(arm_compute::IAllocator* allocator) override;
26
27 arm_compute::MappingType mapping_type() const override;
28
29private:
30 void update_blobs_and_mappings() override;
31
32private:
33 /// Memory blob size
34 size_t m_BlobSize;
35};
36
37} // namespace armnn