// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include namespace armnn { /// NOTE: this is an abstract class, it does not implement: /// std::unique_ptr Layer::CreateWorkload(const Graph& graph, const IWorkloadFactory& factory) const = 0; /// Layer* Clone(Graph& graph) const = 0; class ElementwiseBaseLayer : public Layer { public: void ValidateTensorShapesFromInputs() override; std::vector InferOutputShapes(const std::vector& inputShapes) const override; protected: ElementwiseBaseLayer(unsigned int numInputSlots, unsigned int numOutputSlots, LayerType type, const char* name); ~ElementwiseBaseLayer() = default; }; } // namespace