// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include "LayerWithParameters.hpp" #include #include #include namespace armnn { class PreCompiledLayer : public LayerWithParameters { public: PreCompiledLayer(const PreCompiledDescriptor& param, const char* name); ~PreCompiledLayer(); virtual std::unique_ptr CreateWorkload(const Graph& graph, const IWorkloadFactory& factory) const override; PreCompiledLayer* Clone(Graph &graph) const override; void ValidateTensorShapesFromInputs() override; std::shared_ptr GetPreCompiledObject() const; void SetPreCompiledObject(const std::shared_ptr& preCompiledObject); void Accept(ILayerVisitor& visitor) const override; private: PreCompiledLayer(const PreCompiledLayer& other) = delete; PreCompiledLayer& operator=(const PreCompiledLayer& other) = delete; std::shared_ptr m_PreCompiledObject; }; } // namespace armnn