aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/Layer.cpp
diff options
context:
space:
mode:
authorMatthew Bentham <matthew.bentham@arm.com>2023-02-23 13:03:46 +0000
committerFrancis Murtagh <francis.murtagh@arm.com>2023-02-28 12:36:12 +0000
commitaeec3ce5c8f936fb1220a9de8c84cceef88d4080 (patch)
tree87e676cecdd4f81be53e33c484721f9448e313a2 /src/armnn/Layer.cpp
parent2a764ade6b5bf88cba0c43303291e0352ec3354c (diff)
downloadarmnn-aeec3ce5c8f936fb1220a9de8c84cceef88d4080.tar.gz
Add constant version of IConnectableLayer::GetConstantTensorsByRef
This makes it easier to use, particularly in backends where it is common to pass around const pointers to IConnectableLayer. The non-constant version is rewritten to use the constant version. Signed-off-by: Matthew Bentham <matthew.bentham@arm.com> Change-Id: Id3a8384447e93c213299a85ade9a667df5960534
Diffstat (limited to 'src/armnn/Layer.cpp')
-rw-r--r--src/armnn/Layer.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/armnn/Layer.cpp b/src/armnn/Layer.cpp
index 19337dca5c..3ccce40a19 100644
--- a/src/armnn/Layer.cpp
+++ b/src/armnn/Layer.cpp
@@ -538,6 +538,19 @@ void Layer::ExecuteStrategy(IStrategy& strategy) const
strategy.ExecuteStrategy(this, BaseDescriptor(), {}, GetName());
}
+Layer::ConstantTensors Layer::GetConstantTensorsByRef()
+{
+ const Layer *constThis = const_cast<const Layer*>(this);
+ ConstantTensors res;
+
+ ImmutableConstantTensors immutableData = constThis->GetConstantTensorsByRef();
+ for (auto i : immutableData)
+ {
+ res.push_back(const_cast<std::shared_ptr<ConstTensorHandle>&>(i.get()));
+ }
+ return res;
+}
+
const IConnectableLayer& OutputSlot::GetOwningIConnectableLayer() const
{
return m_OwningLayer;