aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/SubGraph.cpp
blob: 74a1838ef0b54d94e31fc5217a7500aa48c4c779 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
//
// Copyright © 2017 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//

#include "Layer.hpp"
#include "SubGraph.hpp"

#include <boost/numeric/conversion/cast.hpp>

namespace armnn
{

SubGraph::SubGraph()
{
}

SubGraph::SubGraph(InputSlots && inputs,
                   OutputSlots && outputs,
                   Layers && layers)
: m_InputSlots{inputs}
, m_OutputSlots{outputs}
, m_Layers{layers}
{
}

const SubGraph::InputSlots & SubGraph::GetInputSlots() const
{
    return m_InputSlots;
}

const SubGraph::OutputSlots & SubGraph::GetOutputSlots() const
{
    return m_OutputSlots;
}

const InputSlot* SubGraph::GetInputSlot(unsigned int index) const
{
    return m_InputSlots.at(index);
}

InputSlot* SubGraph::GetInputSlot(unsigned int index)
{
    return  m_InputSlots.at(index);
}

const OutputSlot* SubGraph::GetOutputSlot(unsigned int index) const
{
    return m_OutputSlots.at(index);
}

OutputSlot* SubGraph::GetOutputSlot(unsigned int index)
{
    return m_OutputSlots.at(index);
}

unsigned int SubGraph::GetNumInputSlots() const
{
    return boost::numeric_cast<unsigned int>(m_InputSlots.size());
}

unsigned int SubGraph::GetNumOutputSlots() const
{
    return boost::numeric_cast<unsigned int>(m_OutputSlots.size());
}

const SubGraph::Layers & SubGraph::GetLayers() const
{
    return m_Layers;
}

SubGraph::Layers::iterator SubGraph::begin()
{
    return m_Layers.begin();
}

SubGraph::Layers::iterator SubGraph::end()
{
    return m_Layers.end();
}

SubGraph::Layers::const_iterator SubGraph::begin() const
{
    return m_Layers.begin();
}

SubGraph::Layers::const_iterator SubGraph::end() const
{
    return m_Layers.end();
}

SubGraph::Layers::const_iterator SubGraph::cbegin() const
{
    return begin();
}

SubGraph::Layers::const_iterator SubGraph::cend() const
{
    return end();
}

} // namespace armnn