24.02.1
|
Go to the documentation of this file.
24 #ifndef ARM_COMPUTE_ISIMPLELIFETIMEMANAGER_H
25 #define ARM_COMPUTE_ISIMPLELIFETIMEMANAGER_H
66 virtual void update_blobs_and_mappings() = 0;
72 Element(
void *id_ =
nullptr,
75 size_t alignment_ = 0,
77 : id(id_), handle(handle_), size(size_), alignment(alignment_), status(status_)
93 std::set<void *> bound_elements;
97 std::map<void *, Element> _active_elements;
98 std::list<Blob> _free_blobs;
99 std::list<Blob> _occupied_blobs;
100 std::map<IMemoryGroup *, std::map<void *, Element>>
bool release_group(IMemoryGroup *group) override
Unbound and release elements associated with a group.
Interface for managing the lifetime of objects.
void end_lifetime(void *obj, IMemory &obj_memory, size_t size, size_t alignment) override
Ends lifetime of an object.
void start_lifetime(void *obj) override
Registers and starts lifetime of an object.
ISimpleLifetimeManager()
Constructor.
void register_group(IMemoryGroup *group) override
Registers a group to the lifetime manager and assigns a group id.
Copyright (c) 2017-2024 Arm Limited.
ISimpleLifetimeManager & operator=(const ISimpleLifetimeManager &)=delete
Prevent instances of this class to be copied.
bool are_all_finalized() const override
Checks if the lifetime of the registered object is complete.
Abstract class of the simple lifetime manager interface.