ArmNN  NotReleased
SubgraphViewSelector.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6 
7 #include "SubgraphView.hpp"
8 #include <functional>
9 #include <memory>
10 
11 namespace armnn
12 {
13 
14 class Layer;
15 class Graph;
16 
22 {
23 public:
24  using SubgraphViewPtr = std::unique_ptr<SubgraphView>;
25  using Subgraphs = std::vector<SubgraphViewPtr>;
26  using LayerSelectorFunction = std::function<bool(const Layer&)>;
27 
32  static Subgraphs SelectSubgraphs(Graph& graph, const LayerSelectorFunction& selector);
33  static Subgraphs SelectSubgraphs(SubgraphView& subgraph, const LayerSelectorFunction& selector);
34 
35 private:
36  // this is a utility class, don't construct or copy
37  SubgraphViewSelector() = delete;
39  SubgraphViewSelector & operator=(const SubgraphViewSelector&) = delete;
40 };
41 
42 } // namespace armnn
static Subgraphs SelectSubgraphs(Graph &graph, const LayerSelectorFunction &selector)
std::function< bool(const Layer &)> LayerSelectorFunction
std::vector< SubgraphViewPtr > Subgraphs
std::unique_ptr< SubgraphView > SubgraphViewPtr