Skip to content

Commit

Permalink
NNXSW-3858: Get non-const IConnectableLayer from I/O slots
Browse files Browse the repository at this point in the history
* Added non-const variants of existing const member functions in
IInputSlot and IOutputSlot to retrieve non-const IConnectableLayer

Signed-off-by: Nabeel Ahmad <nabeel.ahmad@arm.com>
Change-Id: Ic3388b578324edb4d2cca36acce6560ad1ce83c5
  • Loading branch information
nbl14 authored and FrancisMurtagh-arm committed Jun 23, 2022
1 parent 2112859 commit 09fa24d
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 0 deletions.
2 changes: 2 additions & 0 deletions include/armnn/INetwork.hpp
Expand Up @@ -29,6 +29,7 @@ class IInputSlot
virtual const IOutputSlot* GetConnection() const = 0;
virtual IOutputSlot* GetConnection() = 0;
virtual const IConnectableLayer& GetOwningIConnectableLayer() const = 0;
virtual IConnectableLayer& GetOwningIConnectableLayer() = 0;

protected:
/// Not user deletable.
Expand Down Expand Up @@ -56,6 +57,7 @@ class IOutputSlot
virtual LayerGuid GetOwningLayerGuid() const = 0;

virtual const IConnectableLayer& GetOwningIConnectableLayer() const = 0;
virtual IConnectableLayer& GetOwningIConnectableLayer() = 0;

protected:
/// Not user deletable.
Expand Down
10 changes: 10 additions & 0 deletions src/armnn/Layer.cpp
Expand Up @@ -543,9 +543,19 @@ const IConnectableLayer& OutputSlot::GetOwningIConnectableLayer() const
return m_OwningLayer;
}

IConnectableLayer& OutputSlot::GetOwningIConnectableLayer()
{
return m_OwningLayer;
}

const IConnectableLayer& InputSlot::GetOwningIConnectableLayer() const
{
return m_OwningLayer;
}

IConnectableLayer& InputSlot::GetOwningIConnectableLayer()
{
return m_OwningLayer;
}

} // namespace armnn
2 changes: 2 additions & 0 deletions src/armnn/Layer.hpp
Expand Up @@ -57,6 +57,7 @@ class InputSlot final : public IInputSlot
OutputSlot* GetConnectedOutputSlot() { return m_Connection; }

const IConnectableLayer& GetOwningIConnectableLayer() const override;
IConnectableLayer& GetOwningIConnectableLayer() override;

/// Links the slot to an output slot or breaks an existing link if passing nullptr.
void SetConnection(OutputSlot* source)
Expand Down Expand Up @@ -118,6 +119,7 @@ class OutputSlot final : public IOutputSlot
Layer& GetOwningLayer() const { return m_OwningLayer; }

const IConnectableLayer& GetOwningIConnectableLayer() const override;
IConnectableLayer& GetOwningIConnectableLayer() override;

LayerGuid GetOwningLayerGuid() const override;

Expand Down

0 comments on commit 09fa24d

Please sign in to comment.