Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / src / inference_engine / builders / ie_input_layer_layer.cpp
index e7e099f..3b06293 100644 (file)
@@ -1,40 +1,40 @@
-// Copyright (C) 2018 Intel Corporation
+// Copyright (C) 2018-2019 Intel Corporation
 // SPDX-License-Identifier: Apache-2.0
 //
 
 #include <builders/ie_input_layer.hpp>
-#include <details/caseless.hpp>
 
 #include <string>
 
 using namespace InferenceEngine;
 
-Builder::InputLayer::InputLayer(const std::string& name): LayerFragment("Input", name) {
-    getLayer().getOutputPorts().resize(1);
+Builder::InputLayer::InputLayer(const std::string& name): LayerDecorator("Input", name) {
+    getLayer()->getOutputPorts().resize(1);
 }
 
-Builder::InputLayer::InputLayer(Layer& genLayer): LayerFragment(genLayer) {
-    if (!details::CaselessEq<std::string>()(getLayer().getType(), "Input"))
-        THROW_IE_EXCEPTION << "Cannot create InputLayer decorator for layer " << getLayer().getType();
+Builder::InputLayer::InputLayer(const Layer::Ptr& layer): LayerDecorator(layer) {
+    checkType("Input");
+}
+
+Builder::InputLayer::InputLayer(const Layer::CPtr& layer): LayerDecorator(layer) {
+    checkType("Input");
 }
 
 Builder::InputLayer& Builder::InputLayer::setName(const std::string& name) {
-    getLayer().getName() = name;
+    getLayer()->setName(name);
     return *this;
 }
 
 const Port& Builder::InputLayer::getPort() const {
-    return getLayer().getOutputPorts()[0];
+    return getLayer()->getOutputPorts()[0];
 }
 
 Builder::InputLayer& Builder::InputLayer::setPort(const Port &port) {
-    getLayer().getOutputPorts()[0] = port;
+    getLayer()->getOutputPorts()[0] = port;
     return *this;
 }
 
-void Builder::InputLayer::validate(const Layer& layer) {
-    if (layer.getOutputPorts()[0].shape().empty())
-        THROW_IE_EXCEPTION << layer.getType() << " node " << layer.getName() << " should have shape!";
-}
-
-REG_VALIDATOR_FOR(Input,  Builder::InputLayer::validate);
\ No newline at end of file
+REG_VALIDATOR_FOR(Input, [] (const InferenceEngine::Builder::Layer::CPtr& layer, bool partial) {
+    if (layer->getOutputPorts()[0].shape().empty())
+        THROW_IE_EXCEPTION << layer->getType() << " node " << layer->getName() << " should have shape!";
+});