ArmNN
 26.01
Loading...
Searching...
No Matches
LayersFwd.hpp
Go to the documentation of this file.
1//
2// Copyright © 2017-2024 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5#pragma once
6
7#include "InternalTypes.hpp"
8
16#include "layers/CastLayer.hpp"
25#include "layers/DebugLayer.hpp"
34#include "layers/FillLayer.hpp"
35#include "layers/FloorLayer.hpp"
37#include "layers/FusedLayer.hpp"
40#include "layers/InputLayer.hpp"
45#include "layers/LstmLayer.hpp"
46#include "layers/MapLayer.hpp"
48#include "layers/MeanLayer.hpp"
51#include "layers/MergeLayer.hpp"
56#include "layers/PadLayer.hpp"
61#include "layers/PreluLayer.hpp"
63#include "layers/QLstmLayer.hpp"
65#include "layers/RankLayer.hpp"
71#include "layers/ShapeLayer.hpp"
72#include "layers/SliceLayer.hpp"
77#include "layers/StackLayer.hpp"
82#include "layers/TileLayer.hpp"
86#include "layers/UnmapLayer.hpp"
87
88namespace armnn
89{
90
91template <LayerType Type>
93
94template <LayerType Type>
96
97template <typename T>
98constexpr LayerType LayerEnumOf(const T* = nullptr);
99
100#define DECLARE_LAYER_IMPL(_, LayerName) \
101 class LayerName##Layer; \
102 template <> \
103 struct LayerTypeOfImpl<LayerType::_##LayerName> \
104 { \
105 using Type = LayerName##Layer; \
106 }; \
107 template <> \
108 constexpr LayerType LayerEnumOf(const LayerName##Layer*) \
109 { \
110 return LayerType::_##LayerName; \
111 }
112
113#define DECLARE_LAYER(LayerName) DECLARE_LAYER_IMPL(, LayerName)
114
193}
#define DECLARE_LAYER(LayerName)
Copyright (c) 2021 ARM Limited and Contributors.
constexpr LayerType LayerEnumOf(const T *=nullptr)
LayerType
When adding a new layer, adapt also the LastLayer enum value in the enum class LayerType below.
Definition Types.hpp:494
typename LayerTypeOfImpl< Type >::Type LayerTypeOf
Definition LayersFwd.hpp:95