| // |
| // Copyright © 2017 Arm Ltd and Contributors. All rights reserved. |
| // SPDX-License-Identifier: MIT |
| // |
| #pragma once |
| |
| #include <armnn/Deprecated.hpp> |
| #include <armnn/Descriptors.hpp> |
| #include <armnn/LstmParams.hpp> |
| #include <armnn/Optional.hpp> |
| #include <armnn/QuantizedLstmParams.hpp> |
| |
| #include <cctype> |
| #include <functional> |
| #include <memory> |
| #include <vector> |
| |
| namespace armnn |
| { |
| |
| class TensorInfo; |
| |
| class ILayerSupport |
| { |
| protected: |
| ILayerSupport() {} |
| virtual ~ILayerSupport() {} |
| |
| public: |
| virtual bool IsLayerSupported(const LayerType& type, |
| const std::vector<TensorInfo>& infos, |
| const BaseDescriptor& descriptor, |
| const Optional<LstmInputParamsInfo>& lstmParamsInfo = EmptyOptional(), |
| const Optional<QuantizedLstmInputParamsInfo>& quantizedLstmParamsInfo = |
| EmptyOptional(), |
| Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; |
| |
| }; // class ILayerSupport |
| |
| using ILayerSupportSharedPtr = std::shared_ptr<ILayerSupport>; |
| |
| } // namespace armnn |