extension.hpp
1 // Copyright (C) 2020 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4 
5 #pragma once
6 
7 #include <ie_iextension.h>
8 #include <ie_api.h>
9 #include <ngraph/ngraph.hpp>
10 #include <memory>
11 #include <vector>
12 #include <string>
13 #include <map>
14 
15 //! [extension:header]
16 namespace TemplateExtension {
17 
19 public:
20  Extension() = default;
21  void GetVersion(const InferenceEngine::Version*& versionInfo) const noexcept override;
22  void Unload() noexcept override {}
23  void Release() noexcept override { delete this; }
24 
25  std::map<std::string, ngraph::OpSet> getOpSets() override;
26  std::vector<std::string> getImplTypes(const std::shared_ptr<ngraph::Node>& node) override;
27  InferenceEngine::ILayerImpl::Ptr getImplementation(const std::shared_ptr<ngraph::Node>& node, const std::string& implType) override;
28 };
29 
30 } // namespace TemplateExtension
31 //! [extension:header]
InferenceEngine::ILayerImpl::Ptr getImplementation(const std::shared_ptr< ngraph::Node > &node, const std::string &implType) override
[extension:getImplTypes]
Definition: extension.cpp:50
Represents version information that describes plugins and the inference engine runtime library...
Definition: ie_version.hpp:21
[extension:header]
Definition: cpu_kernel.hpp:10
void Unload() noexcept override
Cleans resources up.
Definition: extension.hpp:22
void GetVersion(const InferenceEngine::Version *&versionInfo) const noexcept override
[extension:GetVersion]
Definition: extension.cpp:19
std::vector< std::string > getImplTypes(const std::shared_ptr< ngraph::Node > &node) override
[extension:getOpSets]
Definition: extension.cpp:41
Definition: extension.hpp:18
The macro defines a symbol import/export mechanism essential for Microsoft Windows(R) OS...
This is a header file for Inference Engine Extension Interface.
std::shared_ptr< ILayerImpl > Ptr
A shared pointer to the ILayerImpl interface.
Definition: ie_iextension.h:94
std::map< std::string, ngraph::OpSet > getOpSets() override
[extension:GetVersion]
Definition: extension.cpp:31
This class is the main extension interface.
Definition: ie_iextension.h:274