1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
7 #include <builders/ie_layer_decorator.hpp>
8 #include <ie_network.hpp>
12 namespace InferenceEngine {
16 * @brief The class represents a builder for Eltwise layer
18 class INFERENCE_ENGINE_API_CLASS(EltwiseLayer): public LayerDecorator {
21 * @brief The enum defines all Eltwise types
34 * @brief The constructor creates a builder with the name
35 * @param name Layer name
37 explicit EltwiseLayer(const std::string& name = "");
39 * @brief The constructor creates a builder from generic builder
40 * @param layer pointer to generic builder
42 explicit EltwiseLayer(const Layer::Ptr& layer);
44 * @brief The constructor creates a builder from generic builder
45 * @param layer constant pointer to generic builder
47 explicit EltwiseLayer(const Layer::CPtr& layer);
49 * @brief Sets the name for the layer
50 * @param name Layer name
51 * @return reference to layer builder
53 EltwiseLayer& setName(const std::string& name);
56 * @brief Returns input ports
57 * @return Vector of input ports
59 const std::vector<Port>& getInputPorts() const;
61 * @brief Sets input ports
62 * @param ports Vector of input ports
63 * @return reference to layer builder
65 EltwiseLayer& setInputPorts(const std::vector<Port>& ports);
67 * @brief Returns output port
70 const Port& getOutputPort() const;
72 * @brief Sets output port
73 * @param port Output port
74 * @return reference to layer builder
76 EltwiseLayer& setOutputPort(const Port& port);
78 * @brief Returns eltwise type
79 * @return Eltwise type
81 EltwiseType getEltwiseType() const;
83 * @brief Sets eltwise type
84 * @param type Eltwise type
85 * @return reference to layer builder
87 EltwiseLayer& setEltwiseType(EltwiseType type);
89 * @brief Returns eltwise scales
90 * @return Vector of scales
92 const std::vector<float> getScales() const;
94 * @brief Sets eltwise scales
95 * @param scales Vector of scales
96 * @return reference to layer builder
98 EltwiseLayer& setScales(const std::vector<float>& scales);
104 } // namespace Builder
105 } // namespace InferenceEngine