ArmNN
 21.11
TestInputOutputLayerVisitor.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 "TestLayerVisitor.hpp"
8 #include <doctest/doctest.h>
9 
10 namespace armnn
11 {
12 
14 {
15  CHECK_EQ(visitorId, id);
16 }
17 
18 // Concrete TestLayerVisitor subclasses for layers taking LayerBindingId argument with overridden VisitLayer methods
20 {
21 private:
22  LayerBindingId visitorId;
23 
24 public:
25  explicit TestInputLayerVisitor(LayerBindingId id, const char* name = nullptr)
26  : TestLayerVisitor(name)
27  , visitorId(id)
28  {};
29 
31  const armnn::BaseDescriptor& descriptor,
32  const std::vector<armnn::ConstTensor>& constants,
33  const char* name,
34  const armnn::LayerBindingId id = 0) override
35  {
36  armnn::IgnoreUnused(descriptor, constants, id);
37  switch (layer->GetType())
38  {
40  {
41  CheckLayerPointer(layer);
42  CheckLayerBindingId(visitorId, id);
43  CheckLayerName(name);
44  break;
45  }
46  default:
47  {
49  }
50  }
51  }
52 };
53 
55 {
56 private:
57  LayerBindingId visitorId;
58 
59 public:
60  explicit TestOutputLayerVisitor(LayerBindingId id, const char* name = nullptr)
61  : TestLayerVisitor(name)
62  , visitorId(id)
63  {};
64 
66  const armnn::BaseDescriptor& descriptor,
67  const std::vector<armnn::ConstTensor>& constants,
68  const char* name,
69  const armnn::LayerBindingId id = 0) override
70  {
71  armnn::IgnoreUnused(descriptor, constants, id);
72  switch (layer->GetType())
73  {
75  {
76  CheckLayerPointer(layer);
77  CheckLayerBindingId(visitorId, id);
78  CheckLayerName(name);
79  break;
80  }
81  default:
82  {
84  }
85  }
86  }
87 };
88 
89 } //namespace armnn
void CheckLayerName(const char *name)
Interface for a layer that is connectable to other layers via InputSlots and OutputSlots.
Definition: INetwork.hpp:61
void CheckLayerPointer(const IConnectableLayer *layer)
Copyright (c) 2021 ARM Limited and Contributors.
void IgnoreUnused(Ts &&...)
TestInputLayerVisitor(LayerBindingId id, const char *name=nullptr)
int LayerBindingId
Type of identifiers for bindable layers (inputs, outputs).
Definition: Types.hpp:277
Base class for all descriptors.
Definition: Descriptors.hpp:22
void ExecuteStrategy(const armnn::IConnectableLayer *layer, const armnn::BaseDescriptor &descriptor, const std::vector< armnn::ConstTensor > &constants, const char *name, const armnn::LayerBindingId id=0) override
void Apply(const std::string &)
virtual LayerType GetType() const =0
Returns the armnn::LayerType of this layer.
TestOutputLayerVisitor(LayerBindingId id, const char *name=nullptr)
void CheckLayerBindingId(LayerBindingId visitorId, LayerBindingId id)
void ExecuteStrategy(const armnn::IConnectableLayer *layer, const armnn::BaseDescriptor &descriptor, const std::vector< armnn::ConstTensor > &constants, const char *name, const armnn::LayerBindingId id=0) override
const char * GetLayerTypeAsCString(LayerType type)