24.02.1
|
Go to the documentation of this file.
24 #ifndef ARM_COMPUTE_IMEMORYGROUP_H
25 #define ARM_COMPUTE_IMEMORYGROUP_H
34 class IMemoryManageable;
virtual ~IMemoryManageable()=default
Default virtual destructor.
virtual void associate_memory_group(IMemoryGroup *memory_group)=0
Associates a memory managable object with the memory group that manages it.
virtual void manage(IMemoryManageable *obj)=0
Sets a object to be managed by the given memory group.
Interface of an object than can be memory managed.
virtual MemoryMappings & mappings()=0
Gets the memory mapping of the group.
MemoryGroupResourceScope(IMemoryGroup &memory_group)
Constructor.
virtual void acquire()=0
Acquires backing memory for the whole group.
virtual ~IMemoryGroup()=default
Default virtual destructor.
virtual void finalize_memory(IMemoryManageable *obj, IMemory &obj_memory, size_t size, size_t alignment)=0
Finalizes memory for a given object.
~MemoryGroupResourceScope()
Destructor.
Memory group resources scope handling class.
Copyright (c) 2017-2024 Arm Limited.
virtual void release()=0
Releases backing memory of the whole group.
std::map< IMemory *, size_t > MemoryMappings
A map of (handle, index/offset), where handle is the memory handle of the object to provide the memor...