diff options
Diffstat (limited to 'src/armnn/Observable.cpp')
-rw-r--r-- | src/armnn/Observable.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/armnn/Observable.cpp b/src/armnn/Observable.cpp new file mode 100644 index 0000000000..7179a10ccd --- /dev/null +++ b/src/armnn/Observable.cpp @@ -0,0 +1,36 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// See LICENSE file in the project root for full license information. +// + +#include "Observable.hpp" + +namespace armnn +{ + +void AddedLayerObservable::Update(Layer* graphLayer) +{ + m_ObservedObjects.emplace_back(graphLayer); +} + +void ErasedLayerNamesObservable::Update(Layer* graphLayer) +{ + auto& relatedLayerNames = graphLayer->GetRelatedLayerNames(); + + // If the erased layer has no related layers we take the erased layer's name + // Otherwise we need to preserve the related layer names, + // since we want to preserve the original graph's information + if (relatedLayerNames.empty()) + { + m_ObservedObjects.emplace_back(graphLayer->GetName()); + } + else + { + for (auto& relatedLayerName : relatedLayerNames) + { + m_ObservedObjects.emplace_back(relatedLayerName); + } + } +} + +} |