aboutsummaryrefslogtreecommitdiff
path: root/include/armnn/backends/SubgraphView.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/armnn/backends/SubgraphView.hpp')
-rw-r--r--include/armnn/backends/SubgraphView.hpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/include/armnn/backends/SubgraphView.hpp b/include/armnn/backends/SubgraphView.hpp
index 777311747a..24f8958930 100644
--- a/include/armnn/backends/SubgraphView.hpp
+++ b/include/armnn/backends/SubgraphView.hpp
@@ -1,5 +1,5 @@
//
-// Copyright © 2017,2022 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2017, 2022-2023 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
@@ -28,7 +28,7 @@ class OutputSlot;
/// the contents of the SubgraphView become invalid when the Layers are destroyed
/// or changed.
///
-class SubgraphView final
+class SubgraphView final : public std::enable_shared_from_this<SubgraphView>
{
public:
template <typename Func>
@@ -53,7 +53,7 @@ public:
}
}
- using SubgraphViewPtr = std::unique_ptr<SubgraphView>;
+ using SubgraphViewPtr = std::shared_ptr<SubgraphView>;
using InputSlots = std::vector<InputSlot*>;
using IInputSlots = std::vector<IInputSlot*>;
using OutputSlots = std::vector<OutputSlot*>;
@@ -171,6 +171,13 @@ public:
void SubstituteSubgraph(SubgraphView&, IConnectableLayer*);
void SubstituteSubgraph(SubgraphView&, const SubgraphView&);
+ /// These methods should be called on a working copy subgraph created from GetWorkingCopy.
+ /// They return pointers to the input and output Slots belonging to the original SubgraphView
+ /// that the working copy was created from.
+ /// This may be used to find the original TensorInfo of connected boundary OutputSlots.
+ const IInputSlots& GetOriginalInputSlots() const;
+ const IOutputSlots& GetOriginalOutputSlots() const;
+
private:
struct SubgraphViewWorkingCopy;