26 class SOCreatorTrait<IExtension> {
31 static constexpr
auto name =
"CreateExtension";
39 class SOCreatorTrait<IShapeInferExtension> {
44 static constexpr
auto name =
"CreateShapeInferExtension";
58 explicit Extension(
const file_name_t& name): actual(name) {}
65 actual->GetVersion(versionInfo);
73 actual->SetLogCallback(listener);
96 return actual->getPrimitiveTypes(types, size, resp);
108 return actual->getFactoryFor(factory, cnnLayer, resp);
112 return actual->getShapeInferImpl(impl, type, resp);
119 InferenceEngine::details::SOPointer<IExtension>
actual;
138 actual->GetVersion(versionInfo);
146 actual->SetLogCallback(listener);
169 return actual->getShapeInferTypes(types, size, resp);
179 return actual->getShapeInferImpl(impl, type, resp);
186 InferenceEngine::details::SOPointer<IShapeInferExtension>
actual;
195 inline std::shared_ptr<IShapeInferExtension>
make_so_pointer(
const file_name_t& name) {
196 return std::make_shared<ShapeInferExtension>(name);
206 return std::make_shared<Extension>(name);
ShapeInferExtension(const file_name_t &name)
Loads extension from a shared library.
Definition: ie_extension.h:131
void Release() noexcept override
Does nothing since destruction is done via the regular mechanism.
Definition: ie_extension.h:86
InferenceEngine::details::SOPointer< IShapeInferExtension > actual
A SOPointer instance to the loaded templated object.
Definition: ie_extension.h:186
Inference Engine API.
Definition: ie_argmax_layer.hpp:11
Represents version information that describes plugins and the inference engine runtime library...
Definition: ie_version.hpp:20
StatusCode getFactoryFor(ILayerImplFactory *&factory, const CNNLayer *cnnLayer, ResponseDesc *resp) noexcept override
Gets the factory with implementations for a given layer.
Definition: ie_extension.h:106
StatusCode getShapeInferImpl(IShapeInferImpl::Ptr &impl, const char *type, ResponseDesc *resp) noexcept override
Gets shape propagation implementation for the given string-type of cnn Layer.
Definition: ie_extension.h:178
InferenceEngine::details::SOPointer< IExtension > actual
A SOPointer instance to the loaded templated object.
Definition: ie_extension.h:119
This class provides interface for extension factories.
Definition: ie_iextension.h:122
Extension(const file_name_t &name)
Loads extension from a shared library.
Definition: ie_extension.h:58
void Unload() noexcept override
Cleans the resources up.
Definition: ie_extension.h:79
void Release() noexcept override
Does nothing since destruction is done via the regular mechanism.
Definition: ie_extension.h:159
Represents detailed information for an error.
Definition: ie_common.h:235
StatusCode
This enum contains codes for all possible return values of the interface functions.
Definition: ie_common.h:212
void Unload() noexcept override
Cleans the resources up.
Definition: ie_extension.h:152
This is a header file for Inference Engine Extension Interface.
void GetVersion(const InferenceEngine::Version *&versionInfo) const noexcept override
Gets the extension version information.
Definition: ie_extension.h:137
void SetLogCallback(InferenceEngine::IErrorListener &listener) noexcept override
Sets a log callback that is used to track what is going on inside.
Definition: ie_extension.h:72
StatusCode getShapeInferImpl(IShapeInferImpl::Ptr &impl, const char *type, ResponseDesc *resp) noexcept override
Gets shape propagation implementation for the given string-type of cnn Layer.
Definition: ie_extension.h:111
This is a base abstraction Layer - all DNN Layers inherit from this class.
Definition: ie_layers.h:41
void GetVersion(const InferenceEngine::Version *&versionInfo) const noexcept override
Gets the extension version information.
Definition: ie_extension.h:64
This class is a C++ helper to work with objects created using extensions.
Definition: ie_extension.h:125
StatusCode getPrimitiveTypes(char **&types, unsigned int &size, ResponseDesc *resp) noexcept override
Gets the array with types of layers which are included in the extension.
Definition: ie_extension.h:95
This class represents a custom error listener. Plugin consumers can provide it via InferenceEngine::S...
Definition: ie_error.hpp:16
This is a wrapper class for handling plugin instantiation and releasing resources.
This class is the reader extension interface to provide implementation for shape propagation.
Definition: ie_iextension.h:166
This class is the main extension interface.
Definition: ie_iextension.h:207
void SetLogCallback(InferenceEngine::IErrorListener &listener) noexcept override
Sets a log callback that is used to track what is going on inside.
Definition: ie_extension.h:145
std::shared_ptr< T > make_so_pointer(const file_name_t &name)=delete
Creates a special shared_pointer wrapper for the given type from a specific shared module...
Definition: ie_extension.h:195
StatusCode getShapeInferTypes(char **&types, unsigned int &size, ResponseDesc *resp) noexcept override
Gets the array with types of layers which are included in the extension.
Definition: ie_extension.h:168
This class is a C++ helper to work with objects created using extensions.
Definition: ie_extension.h:52