diff options
Diffstat (limited to 'src/armnn/SubgraphView.hpp')
-rw-r--r-- | src/armnn/SubgraphView.hpp | 71 |
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 |