xref: /aosp_15_r20/external/armnn/src/armnn/Observable.cpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #include "Observable.hpp"
7 
8 namespace armnn
9 {
10 
Update(Layer * graphLayer)11 void AddedLayerObservable::Update(Layer* graphLayer)
12 {
13     m_ObservedObjects.emplace_back(graphLayer);
14 }
15 
Update(Layer * graphLayer)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 }
37