COMPMID-1088: Use IMemoryRegion in interfaces where possible
-Simplifies import memory interface
-Changes the used of void** handles with appropriate interfaces.
Change-Id: I5918c855c11f46352058864623336b352162a4b7
diff --git a/src/runtime/Memory.cpp b/src/runtime/Memory.cpp
index 15bbb17..d116624 100644
--- a/src/runtime/Memory.cpp
+++ b/src/runtime/Memory.cpp
@@ -30,17 +30,13 @@
Memory::Memory()
: _region(nullptr), _region_owned(nullptr)
{
- create_empty_region();
}
Memory::Memory(std::shared_ptr<IMemoryRegion> memory)
: _region(nullptr), _region_owned(std::move(memory))
{
- if(_region_owned == nullptr)
- {
- create_empty_region();
- }
- _region = _region_owned.get();
+ _region_owned = memory;
+ _region = _region_owned.get();
}
Memory::Memory(IMemoryRegion *memory)
@@ -59,9 +55,15 @@
return _region;
}
-void Memory::create_empty_region()
+void Memory::set_region(IMemoryRegion *region)
{
- _region_owned = std::make_shared<MemoryRegion>(0);
+ _region_owned = nullptr;
+ _region = region;
+}
+
+void Memory::set_owned_region(std::unique_ptr<IMemoryRegion> region)
+{
+ _region_owned = std::move(region);
_region = _region_owned.get();
}
} // namespace arm_compute