• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #include <armnn/backends/ILayerSupport.hpp>
9 
10 namespace armnn
11 {
12 
13 class LayerSupportBase : public ILayerSupport
14 {
15 public:
16 
17     bool IsLayerSupported(const LayerType& type,
18                           const std::vector<TensorInfo>& infos,
19                           const BaseDescriptor& descriptor,
20                           const Optional<LstmInputParamsInfo>& lstmParamsInfo = EmptyOptional(),
21                           const Optional<QuantizedLstmInputParamsInfo>& quantizedLstmParamsInfo = EmptyOptional(),
22                           Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
23 
24     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
25     bool IsActivationSupported(const TensorInfo& input,
26                                const TensorInfo& output,
27                                const ActivationDescriptor& descriptor,
28                                Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
29 
30     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
31     bool IsAdditionSupported(const TensorInfo& input0,
32                              const TensorInfo& input1,
33                              const TensorInfo& output,
34                              Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
35 
36     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
37     bool IsArgMinMaxSupported(const TensorInfo& input,
38                               const TensorInfo& output,
39                               const ArgMinMaxDescriptor& descriptor,
40                               Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
41 
42     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
43     bool IsBatchNormalizationSupported(const TensorInfo& input,
44                                        const TensorInfo& output,
45                                        const TensorInfo& mean,
46                                        const TensorInfo& var,
47                                        const TensorInfo& beta,
48                                        const TensorInfo& gamma,
49                                        const BatchNormalizationDescriptor& descriptor,
50                                        Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
51 
52     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
53     bool IsBatchToSpaceNdSupported(const TensorInfo& input,
54                                    const TensorInfo& output,
55                                    const BatchToSpaceNdDescriptor& descriptor,
56                                    Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
57 
58     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
59     bool IsCastSupported(const TensorInfo& input,
60                          const TensorInfo& output,
61                          Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
62 
63     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
64     bool IsChannelShuffleSupported(const TensorInfo& input,
65                                    const TensorInfo& output,
66                                    const ChannelShuffleDescriptor& descriptor,
67                                    Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
68 
69     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
70     bool IsComparisonSupported(const TensorInfo& input0,
71                                const TensorInfo& input1,
72                                const TensorInfo& output,
73                                const ComparisonDescriptor& descriptor,
74                                Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
75 
76     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
77     bool IsConcatSupported(const std::vector<const TensorInfo*> inputs,
78                            const TensorInfo& output,
79                            const OriginsDescriptor& descriptor,
80                            Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
81 
82     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
83     bool IsConstantSupported(const TensorInfo& output,
84                              Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
85 
86     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
87     bool IsConvertFp16ToFp32Supported(const TensorInfo& input,
88                                       const TensorInfo& output,
89                                       Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
90 
91     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
92     bool IsConvertFp32ToFp16Supported(
93             const TensorInfo& input,
94             const TensorInfo& output,
95             Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
96 
97     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
98     bool IsConvolution2dSupported(const TensorInfo& input,
99                                   const TensorInfo& output,
100                                   const Convolution2dDescriptor& descriptor,
101                                   const TensorInfo& weights,
102                                   const Optional<TensorInfo>& biases,
103                                   Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
104 
105     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
106     bool IsConvolution3dSupported(const TensorInfo& input,
107                                   const TensorInfo& output,
108                                   const Convolution3dDescriptor& descriptor,
109                                   const TensorInfo& weights,
110                                   const Optional<TensorInfo>& biases,
111                                   Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
112 
113     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
114     bool IsDebugSupported(const TensorInfo& input,
115                           const TensorInfo& output,
116                           Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
117 
118     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
119     bool IsDepthToSpaceSupported(const TensorInfo& input,
120                                  const TensorInfo& output,
121                                  const DepthToSpaceDescriptor& descriptor,
122                                  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
123 
124     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
125     bool IsDepthwiseConvolutionSupported(const TensorInfo& input,
126                                          const TensorInfo& output,
127                                          const DepthwiseConvolution2dDescriptor& descriptor,
128                                          const TensorInfo& weights,
129                                          const Optional<TensorInfo>& biases,
130                                          Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
131 
132     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
133     bool IsDequantizeSupported(const TensorInfo& input,
134                                const TensorInfo& output,
135                                Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
136 
137     bool IsDetectionPostProcessSupported(const TensorInfo& boxEncodings,
138                                          const TensorInfo& scores,
139                                          const TensorInfo& anchors,
140                                          const TensorInfo& detectionBoxes,
141                                          const TensorInfo& detectionClasses,
142                                          const TensorInfo& detectionScores,
143                                          const TensorInfo& numDetections,
144                                          const DetectionPostProcessDescriptor& descriptor,
145                                          Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
146 
147     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
148     bool IsDilatedDepthwiseConvolutionSupported(const TensorInfo& input,
149                                                 const TensorInfo& output,
150                                                 const DepthwiseConvolution2dDescriptor& descriptor,
151                                                 const TensorInfo& weights,
152                                                 const Optional<TensorInfo>& biases,
153                                                 Optional<std::string&> reasonIfUnsupported =
154                                                     EmptyOptional()) const override;
155 
156     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
157     bool IsDivisionSupported(const TensorInfo& input0,
158                              const TensorInfo& input1,
159                              const TensorInfo& output,
160                              Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
161 
162     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
163     bool IsElementwiseUnarySupported(const TensorInfo& input,
164                                      const TensorInfo& output,
165                                      const ElementwiseUnaryDescriptor& descriptor,
166                                      Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
167 
168     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
169     bool IsFakeQuantizationSupported(const TensorInfo& input,
170                                      const FakeQuantizationDescriptor& descriptor,
171                                      Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
172 
173     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
174     virtual bool IsFillSupported(const TensorInfo& input,
175                                  const TensorInfo& output,
176                                  const FillDescriptor& descriptor,
177                                  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
178 
179     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
180     bool IsFloorSupported(const TensorInfo& input,
181                           const TensorInfo& output,
182                           Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
183 
184     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
185     bool IsFullyConnectedSupported(const TensorInfo& input,
186                                    const TensorInfo& output,
187                                    const TensorInfo& weights,
188                                    const TensorInfo& biases,
189                                    const FullyConnectedDescriptor& descriptor,
190                                    Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
191 
192     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
193     bool IsGatherSupported(const TensorInfo& input0,
194                            const TensorInfo& input1,
195                            const TensorInfo& output,
196                            const GatherDescriptor& descriptor,
197                            Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
198 
199     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
200     bool IsInputSupported(const TensorInfo& input,
201                           Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
202 
203     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
204     bool IsInstanceNormalizationSupported(
205         const TensorInfo& input,
206         const TensorInfo& output,
207         const InstanceNormalizationDescriptor& descriptor,
208         Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
209 
210     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
211     bool IsL2NormalizationSupported(const TensorInfo& input,
212                                     const TensorInfo& output,
213                                     const L2NormalizationDescriptor& descriptor,
214                                     Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
215 
216     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
217     bool IsLogicalBinarySupported(const TensorInfo& input0,
218                                   const TensorInfo& input1,
219                                   const TensorInfo& output,
220                                   const LogicalBinaryDescriptor& descriptor,
221                                   Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
222 
223     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
224     bool IsLogicalUnarySupported(const TensorInfo& input,
225                                  const TensorInfo& output,
226                                  const ElementwiseUnaryDescriptor& descriptor,
227                                  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
228 
229     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
230     bool IsLogSoftmaxSupported(const TensorInfo& input,
231                                const TensorInfo& output,
232                                const LogSoftmaxDescriptor& descriptor,
233                                Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
234 
235     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
236     bool IsLstmSupported(const TensorInfo& input,
237                          const TensorInfo& outputStateIn,
238                          const TensorInfo& cellStateIn,
239                          const TensorInfo& scratchBuffer,
240                          const TensorInfo& outputStateOut,
241                          const TensorInfo& cellStateOut,
242                          const TensorInfo& output,
243                          const LstmDescriptor& descriptor,
244                          const LstmInputParamsInfo& paramsInfo,
245                          Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
246 
247     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
248     bool IsMaximumSupported(const TensorInfo& input0,
249                             const TensorInfo& input1,
250                             const TensorInfo& output,
251                             Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
252 
253     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
254     bool IsMeanSupported(const TensorInfo& input,
255                          const TensorInfo& output,
256                          const MeanDescriptor& descriptor,
257                          Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
258 
259     bool IsMemCopySupported(const TensorInfo& input,
260                             const TensorInfo& output,
261                             Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
262 
263     bool IsMemImportSupported(const TensorInfo& input,
264                               const TensorInfo& output,
265                               Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
266 
267     bool IsMergeSupported(const TensorInfo& input0,
268                           const TensorInfo& input1,
269                           const TensorInfo& output,
270                           Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
271 
272     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
273     bool IsMinimumSupported(const TensorInfo& input0,
274                             const TensorInfo& input1,
275                             const TensorInfo& output,
276                             Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
277 
278     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
279     bool IsMultiplicationSupported(const TensorInfo& input0,
280                                    const TensorInfo& input1,
281                                    const TensorInfo& output,
282                                    Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
283 
284     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
285     bool IsNormalizationSupported(const TensorInfo& input,
286                                   const TensorInfo& output,
287                                   const NormalizationDescriptor& descriptor,
288                                   Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
289 
290     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
291     bool IsOutputSupported(const TensorInfo& output,
292                            Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
293 
294     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
295     bool IsPadSupported(const TensorInfo& input,
296                         const TensorInfo& output,
297                         const PadDescriptor& descriptor,
298                         Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
299 
300     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
301     bool IsPermuteSupported(const TensorInfo& input,
302                             const TensorInfo& output,
303                             const PermuteDescriptor& descriptor,
304                             Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
305 
306     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
307     bool IsPooling2dSupported(const TensorInfo& input,
308                               const TensorInfo& output,
309                               const Pooling2dDescriptor& descriptor,
310                               Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
311 
312     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
313     bool IsPooling3dSupported(const TensorInfo& input,
314                               const TensorInfo& output,
315                               const Pooling3dDescriptor& descriptor,
316                               Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
317 
318     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
319     bool IsPreCompiledSupported(const TensorInfo& input,
320                                 const PreCompiledDescriptor& descriptor,
321                                 Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
322 
323     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
324     bool IsPreluSupported(const TensorInfo& input,
325                           const TensorInfo& alpha,
326                           const TensorInfo& output,
327                           Optional<std::string &> reasonIfUnsupported) const override;
328 
329     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
330     bool IsQuantizeSupported(const TensorInfo& input,
331                              const TensorInfo& output,
332                              Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
333 
334     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
335     bool IsQLstmSupported(const TensorInfo& input,
336                           const TensorInfo& previousOutputIn,
337                           const TensorInfo& previousCellStateIn,
338                           const TensorInfo& outputStateOut,
339                           const TensorInfo& cellStateOut,
340                           const TensorInfo& output,
341                           const QLstmDescriptor& descriptor,
342                           const LstmInputParamsInfo& paramsInfo,
343                           Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
344 
345     bool IsQuantizedLstmSupported(const TensorInfo& input,
346                                   const TensorInfo& previousCellStateIn,
347                                   const TensorInfo& previousOutputIn,
348                                   const TensorInfo& cellStateOut,
349                                   const TensorInfo& output,
350                                   const QuantizedLstmInputParamsInfo& paramsInfo,
351                                   Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
352 
353     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
354     bool IsRankSupported(const TensorInfo& input,
355                          const TensorInfo& output,
356                          Optional<std::string&> reasonIfUnsupported) const override;
357 
358     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
359     bool IsReduceSupported(const TensorInfo& input,
360                            const TensorInfo& output,
361                            const ReduceDescriptor& descriptor,
362                            Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
363 
364     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
365     bool IsReshapeSupported(const TensorInfo& input,
366                             const TensorInfo& output,
367                             const ReshapeDescriptor& descriptor,
368                             Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
369 
370     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
371     bool IsResizeSupported(const TensorInfo& input,
372                            const TensorInfo& output,
373                            const ResizeDescriptor& descriptor,
374                            Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
375 
376     bool IsShapeSupported(const TensorInfo& input,
377                           const TensorInfo& output,
378                           Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
379 
380     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
381     bool IsSliceSupported(const TensorInfo& input,
382                           const TensorInfo& output,
383                           const SliceDescriptor& descriptor,
384                           Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
385 
386     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
387     bool IsSoftmaxSupported(const TensorInfo& input,
388                             const TensorInfo& output,
389                             const SoftmaxDescriptor& descriptor,
390                             Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
391 
392     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
393     bool IsSpaceToBatchNdSupported(const TensorInfo& input,
394                                    const TensorInfo& output,
395                                    const SpaceToBatchNdDescriptor& descriptor,
396                                    Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
397 
398     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
399     bool IsSpaceToDepthSupported(const TensorInfo& input,
400                                  const TensorInfo& output,
401                                  const SpaceToDepthDescriptor& descriptor,
402                                  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
403 
404     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
405     bool IsSplitterSupported(const TensorInfo& input,
406                              const std::vector<std::reference_wrapper<TensorInfo>>& outputs,
407                              const ViewsDescriptor& descriptor,
408                              Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
409 
410     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
411     bool IsStackSupported(const std::vector<const TensorInfo*>& inputs,
412                           const TensorInfo& output,
413                           const StackDescriptor& descriptor,
414                           Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
415 
416     bool IsStandInSupported(const std::vector<const TensorInfo*>& inputs,
417                             const std::vector<const TensorInfo*>& outputs,
418                             const StandInDescriptor& descriptor,
419                             Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
420 
421     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
422     bool IsStridedSliceSupported(const TensorInfo& input,
423                                  const TensorInfo& output,
424                                  const StridedSliceDescriptor& descriptor,
425                                  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
426 
427     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
428     bool IsSubtractionSupported(const TensorInfo& input0,
429                                 const TensorInfo& input1,
430                                 const TensorInfo& output,
431                                 Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
432 
433     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
434     bool IsSwitchSupported(const TensorInfo& input0,
435                            const TensorInfo& input1,
436                            const TensorInfo& output0,
437                            const TensorInfo& output1,
438                            Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
439 
440     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
441     bool IsTransposeConvolution2dSupported(
442         const TensorInfo& input,
443         const TensorInfo& output,
444         const TransposeConvolution2dDescriptor& descriptor,
445         const TensorInfo& weights,
446         const Optional<TensorInfo>& biases,
447         Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
448 
449     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
450     bool IsTransposeSupported(const TensorInfo& input,
451                               const TensorInfo& output,
452                               const TransposeDescriptor& descriptor,
453                               Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
454 
455     ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08")
456     bool IsUnidirectionalSequenceLstmSupported(
457         const TensorInfo& input,
458         const TensorInfo& outputStateIn,
459         const TensorInfo& cellStateIn,
460         const TensorInfo& outputStateOut,
461         const TensorInfo& cellStateOut,
462         const TensorInfo& output,
463         const LstmDescriptor& descriptor,
464         const LstmInputParamsInfo& paramsInfo,
465         Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
466 
467 };
468 
469 } // namespace armnn
470