Release 18.08
[platform/upstream/armnn.git] / src / armnn / Observable.cpp
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // See LICENSE file in the project root for full license information.
4 //
5
6 #include "Observable.hpp"
7
8 namespace armnn
9 {
10
11 void AddedLayerObservable::Update(Layer* graphLayer)
12 {
13     m_ObservedObjects.emplace_back(graphLayer);
14 }
15
16 void ErasedLayerNamesObservable::Update(Layer* graphLayer)
17 {
18     auto& relatedLayerNames = graphLayer->GetRelatedLayerNames();
19
20     // If the erased layer has no related layers we take the erased layer's name
21     // Otherwise we need to preserve the related layer names,
22     // since we want to preserve the original graph's information
23     if (relatedLayerNames.empty())
24     {
25         m_ObservedObjects.emplace_back(graphLayer->GetName());
26     }
27     else
28     {
29         for (auto& relatedLayerName : relatedLayerNames)
30         {
31             m_ObservedObjects.emplace_back(relatedLayerName);
32         }
33     }
34 }
35
36 }