aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/SubgraphView.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/armnn/SubgraphView.hpp')
-rw-r--r--src/armnn/SubgraphView.hpp71
1 files changed, 71 insertions, 0 deletions
diff --git a/src/armnn/SubgraphView.hpp b/src/armnn/SubgraphView.hpp
index af6054283e..f2ca44cb68 100644
--- a/src/armnn/SubgraphView.hpp
+++ b/src/armnn/SubgraphView.hpp
@@ -34,19 +34,40 @@ public:
}
}
+ template <typename Func>
+ void ForEachIConnectableLayer(Func func) const
+ {
+ for (auto it = m_IConnectableLayers.begin(); it != m_IConnectableLayers.end(); )
+ {
+ auto next = std::next(it);
+ func(*it);
+ it = next;
+ }
+ }
+
using SubgraphViewPtr = std::unique_ptr<SubgraphView>;
using InputSlots = std::vector<InputSlot*>;
+ using IInputSlots = std::vector<IInputSlot*>;
using OutputSlots = std::vector<OutputSlot*>;
+ using IOutputSlots = std::vector<IOutputSlot*>;
using Layers = std::list<Layer*>;
+ using IConnectableLayers = std::list<IConnectableLayer*>;
using Iterator = Layers::iterator;
+ using IConnectableLayerIterator = IConnectableLayers::iterator;
using ConstIterator = Layers::const_iterator;
+ using ConstIConnectableIterator = IConnectableLayers::const_iterator;
/// Constructs a sub-graph from the entire given graph.
explicit SubgraphView(Graph& graph);
/// Constructs a sub-graph with the given arguments.
+ ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use constructor with arguments: "
+ "IConnectableLayers, IInputSlots and IOutputSlots", "22.08")
SubgraphView(InputSlots&& inputs, OutputSlots&& outputs, Layers&& layers);
+ /// Constructs a sub-graph with the given arguments.
+ SubgraphView(IConnectableLayers&& layers, IInputSlots&& inputs, IOutputSlots&& outputs);
+
/// Copy-constructor.
SubgraphView(const SubgraphView& subgraph);
@@ -59,27 +80,74 @@ public:
/// Move-assignment operator.
SubgraphView& operator=(SubgraphView&& other);
+ ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use GetIInputSlots() returning"
+ " public IInputSlots", "22.08")
const InputSlots& GetInputSlots() const;
+ const IInputSlots& GetIInputSlots() const;
+
+ ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use GetIOutputSlots() returning"
+ " public IOutputSlots", "22.08")
const OutputSlots& GetOutputSlots() const;
+ const IOutputSlots& GetIOutputSlots() const;
+
+ ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use GetIConnectableLayers() "
+ "returning public IConnectableLayers", "22.08")
const Layers& GetLayers() const;
+ const IConnectableLayers& GetIConnectableLayers() const;
+ ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use GetIInputSlot() returning public "
+ "IInputSlot", "22.08")
const InputSlot* GetInputSlot(unsigned int index) const;
+ const IInputSlot* GetIInputSlot(unsigned int index) const;
+ ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use GetIInputSlot() returning public "
+ "IInputSlot", "22.08")
InputSlot* GetInputSlot(unsigned int index);
+ IInputSlot* GetIInputSlot(unsigned int index);
+ ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use GetIOutputSlot() returning"
+ " public IOutputSlot", "22.08")
const OutputSlot* GetOutputSlot(unsigned int index) const;
+ const IOutputSlot* GetIOutputSlot(unsigned int index) const;
+ ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use GetIOutputSlot() returning"
+ " public IOutputSlot", "22.08")
OutputSlot* GetOutputSlot(unsigned int index);
+ IOutputSlot* GetIOutputSlot(unsigned int index);
unsigned int GetNumInputSlots() const;
unsigned int GetNumOutputSlots() const;
+ ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be changed to return an "
+ "IConnectableLayerIterator, until that occurs in 23.02; please use "
+ "beginIConnectable() returning public IConnectableLayerIterator", "23.02")
Iterator begin();
+ IConnectableLayerIterator beginIConnectable();
+ ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be changed to return an "
+ "IConnectableLayerIterator, until that occurs in 23.02; please use "
+ "endIConnectable() returning public IConnectableLayerIterator", "23.02")
Iterator end();
+ IConnectableLayerIterator endIConnectable();
+ ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be changed to return an "
+ "ConstIConnectableIterator, until that occurs in 23.02; please use "
+ "beginIConnectable() returning public ConstIConnectableIterator", "23.02")
ConstIterator begin() const;
+ ConstIConnectableIterator beginIConnectable() const;
+ ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be changed to return an "
+ "ConstIConnectableIterator, until that occurs in 23.02; please use "
+ "endIConnectable() returning public ConstIConnectableIterator", "23.02")
ConstIterator end() const;
+ ConstIConnectableIterator endIConnectable() const;
+ ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be changed to return an "
+ "ConstIConnectableIterator, until that occurs in 23.02; please use "
+ "cbeginIConnectable() returning public ConstIConnectableIterator", "23.02")
ConstIterator cbegin() const;
+ ConstIConnectableIterator cbeginIConnectable() const;
+ ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be changed to return an "
+ "ConstIConnectableIterator, until that occurs in 23.02; please use "
+ "cendIConnectable() returning public ConstIConnectableIterator", "23.02")
ConstIterator cend() const;
+ ConstIConnectableIterator cendIConnectable() const;
void Clear();
@@ -91,11 +159,14 @@ private:
/// The list of pointers to the input slots of the parent graph.
InputSlots m_InputSlots;
+ IInputSlots m_IInputSlots;
/// The list of pointers to the output slots of the parent graph.
OutputSlots m_OutputSlots;
+ IOutputSlots m_IOutputSlots;
/// The list of pointers to the layers of the parent graph.
Layers m_Layers;
+ IConnectableLayers m_IConnectableLayers;
};
} // namespace armnn