ie_plugin_ptr.hpp
Go to the documentation of this file.
1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4 
5 /**
6  * @brief A header file contains a wrapper class for handling plugin instantiation and releasing resources
7  * @file ie_plugin_ptr.hpp
8  */
9 #pragma once
10 
11 #include "details/ie_so_pointer.hpp"
12 #include "ie_plugin.hpp"
13 #include "ie_ihetero_plugin.hpp"
14 #include "ie_extension.h"
15 #include <string>
16 
17 namespace InferenceEngine {
18 namespace details {
19 
20 /**
21  * @brief This class defines the name of the fabric for creating an IInferencePlugin object in DLL
22  */
23 template<>
24 class SOCreatorTrait<IInferencePlugin> {
25 public:
26  /**
27  * @brief A name of the fabric for creating IInferencePlugin object in DLL
28  */
29  static constexpr auto name = "CreatePluginEngine";
30 };
31 
32 /**
33  * @brief This class defines the name of the fabric for creating an IHeteroInferencePlugin object in DLL
34  */
35 template<>
36 class SOCreatorTrait<IHeteroInferencePlugin> {
37 public:
38  /**
39  * @brief A name of the fabric for creating IInferencePlugin object in DLL
40  */
41  static constexpr auto name = "CreatePluginEngine";
42 };
43 
44 } // namespace details
45 
46 /**
47  * @brief A C++ helper to work with objects created by the plugin.
48  * Implements different interfaces.
49  */
50 using InferenceEnginePluginPtr = InferenceEngine::details::SOPointer<IInferencePlugin>;
51 
52 /** @copybrief InferenceEnginePluginPtr */
53 using HeteroPluginPtr = InferenceEngine::details::SOPointer<IHeteroInferencePlugin>;
54 
55 } // namespace InferenceEngine
InferenceEngine::details::SOPointer< IInferencePlugin > InferenceEnginePluginPtr
A C++ helper to work with objects created by the plugin. Implements different interfaces.
Definition: ie_plugin_ptr.hpp:50
Definition: ie_argmax_layer.hpp:11
A header file for Main Inference Engine API.
InferenceEngine::details::SOPointer< IHeteroInferencePlugin > HeteroPluginPtr
Definition: ie_plugin_ptr.hpp:53
A header file that provides interface to register custom hetero functionality.
This is a wrapper class for handling plugin instantiation and releasing resources.
A header file that defines a wrapper class for handling extension instantiation and releasing resourc...