IVGCVSW-6632 Return INetwork* not INetworkPtr& from OptimizationViews::GetINetwork()
* Also provide API to return reference via GetINetworkRef().
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I80f4912cb7e22a2023e9bb880182ad4610c219e9
diff --git a/include/armnn/backends/OptimizationViews.hpp b/include/armnn/backends/OptimizationViews.hpp
index 0357ada..59d71ca 100644
--- a/include/armnn/backends/OptimizationViews.hpp
+++ b/include/armnn/backends/OptimizationViews.hpp
@@ -1,5 +1,5 @@
//
-// Copyright © 2017 Arm Ltd. All rights reserved.
+// Copyright © 2017, 2019, 2021-2022 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
@@ -64,7 +64,8 @@
ARMNN_DEPRECATED_MSG_REMOVAL_DATE("GetGraph is deprecated. Use GetINetwork instead.", "23.08")
Graph& GetGraph() { return m_Graph; }
- INetworkPtr& GetINetwork() { return m_INetwork; }
+ INetwork* GetINetwork() { return m_INetwork.get(); }
+ INetwork& GetINetworkRef() { return *m_INetwork; }
private:
Substitutions m_SuccesfulOptimizations; ///< Proposed substitutions from successful optimizations
diff --git a/src/backends/backendsCommon/test/OptimizationViewsTests.cpp b/src/backends/backendsCommon/test/OptimizationViewsTests.cpp
index 9b86784..ff84eea 100644
--- a/src/backends/backendsCommon/test/OptimizationViewsTests.cpp
+++ b/src/backends/backendsCommon/test/OptimizationViewsTests.cpp
@@ -1,5 +1,5 @@
//
-// Copyright © 2017 Arm Ltd. All rights reserved.
+// Copyright © 2017, 2019-2022 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
@@ -288,4 +288,15 @@
CheckLayers(graph);
}
+TEST_CASE("OptimizedViewsReturnsINetworkReference")
+{
+ OptimizationViews view;
+
+ auto layer = view.GetINetworkRef().AddInputLayer(0, "input");
+
+ // Check layer has been added to the referenced INetwork
+ CHECK(layer);
+}
+
+
}
\ No newline at end of file