From ff05cc50880032614675e9422ba829785f61ba14 Mon Sep 17 00:00:00 2001 From: Derek Lamberti Date: Fri, 26 Apr 2019 13:05:17 +0100 Subject: IVGCVSW-2405 Rename SubGraph to SubgraphView Change-Id: Ie50aeccf053c20c3a01a75042bbc3acd824375af Signed-off-by: Derek Lamberti Signed-off-by: Matteo Martincigh --- src/armnn/SubGraph.hpp | 109 ------------------------------------------------- 1 file changed, 109 deletions(-) delete mode 100644 src/armnn/SubGraph.hpp (limited to 'src/armnn/SubGraph.hpp') diff --git a/src/armnn/SubGraph.hpp b/src/armnn/SubGraph.hpp deleted file mode 100644 index cb44f8ce3d..0000000000 --- a/src/armnn/SubGraph.hpp +++ /dev/null @@ -1,109 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#pragma once - -#include "Layer.hpp" -#include "Graph.hpp" - -#include -#include - -namespace armnn -{ - -/// -/// The SubGraph class represents a subgraph of a Graph. -/// The data it holds, points to data held by layers of the Graph, so the -/// the contents of the SubGraph becomes invalid when the Layers are destroyed -/// or changed. -/// -class SubGraph final -{ -public: - using SubGraphPtr = std::unique_ptr; - using InputSlots = std::vector; - using OutputSlots = std::vector; - using Layers = std::list; - using Iterator = Layers::iterator; - using ConstIterator = Layers::const_iterator; - - /// Empty subgraphs are not allowed, they must at least have a parent graph. - SubGraph() = delete; - - /// Constructs a sub-graph from the entire given graph. - SubGraph(Graph& graph); - - /// Constructs a sub-graph with the given arguments and binds it to the specified parent graph. - SubGraph(Graph* parentGraph, InputSlots&& inputs, OutputSlots&& outputs, Layers&& layers); - - /// Constructs a sub-graph with the given arguments and uses the specified sub-graph to get a reference - /// to the parent graph. - SubGraph(const SubGraph& referenceSubGraph, InputSlots&& inputs, OutputSlots&& outputs, Layers&& layers); - - /// Copy-constructor. - SubGraph(const SubGraph& subGraph); - - /// Move-constructor. - SubGraph(SubGraph&& subGraph); - - /// Constructs a sub-graph with only the given layer and uses the specified sub-graph to get a reference - /// to the parent graph. - SubGraph(const SubGraph& referenceSubGraph, IConnectableLayer* layer); - - /// Updates this sub-graph with the contents of the whole given graph. - void Update(Graph& graph); - - /// Adds a new layer, of type LayerType, to the parent graph of this sub-graph. - template - LayerT* AddLayer(Args&&... args) const; - - const InputSlots& GetInputSlots() const; - const OutputSlots& GetOutputSlots() const; - const Layers& GetLayers() const; - - const InputSlot* GetInputSlot(unsigned int index) const; - InputSlot* GetInputSlot(unsigned int index); - - const OutputSlot* GetOutputSlot(unsigned int index) const; - OutputSlot* GetOutputSlot(unsigned int index); - - unsigned int GetNumInputSlots() const; - unsigned int GetNumOutputSlots() const; - - Iterator begin(); - Iterator end(); - - ConstIterator begin() const; - ConstIterator end() const; - - ConstIterator cbegin() const; - ConstIterator cend() const; - -private: - void CheckSubGraph(); - - /// The list of pointers to the input slots of the parent graph. - InputSlots m_InputSlots; - - /// The list of pointers to the output slots of the parent graph. - OutputSlots m_OutputSlots; - - /// The list of pointers to the layers of the parent graph. - Layers m_Layers; - - /// Pointer to the graph this sub-graph is a view of. - Graph* m_ParentGraph; -}; - -template -LayerT* SubGraph::AddLayer(Args&&... args) const -{ - BOOST_ASSERT(m_ParentGraph); - - return m_ParentGraph->AddLayer(args...); -} - -} // namespace armnn -- cgit v1.2.1