class ov::OpExtension

Overview

The default implementation of OpenVINO operation extensions. More…

#include <op_extension.hpp>

template <class T>
class OpExtension: public ov::BaseOpExtension
{
public:
    // methods

    virtual const ov::DiscreteTypeInfo& get_type_info() const;

    virtual ov::OutputVector create(
        const ov::OutputVector& inputs,
        ov::AttributeVisitor& visitor
        ) const;

    virtual std::vector<ov::Extension::Ptr> get_attached_extensions() const;
};

Inherited Members

public:
    // typedefs

    typedef std::shared_ptr<Extension> Ptr;
    typedef std::shared_ptr<BaseOpExtension> Ptr;

    // methods

    virtual const ov::DiscreteTypeInfo& get_type_info() const = 0;

    virtual ov::OutputVector create(
        const ov::OutputVector& inputs,
        ov::AttributeVisitor& visitor
        ) const = 0;

    virtual std::vector<ov::Extension::Ptr> get_attached_extensions() const = 0;

Detailed Documentation

The default implementation of OpenVINO operation extensions.

Methods

virtual const ov::DiscreteTypeInfo& get_type_info() const

Returns the type info of operation.

Returns:

ov::DiscreteTypeInfo

virtual ov::OutputVector create(
    const ov::OutputVector& inputs,
    ov::AttributeVisitor& visitor
    ) const

Method creates an OpenVINO operation.

Parameters:

inputs

vector of input ports

visitor

attribute visitor which allows to read necessaty arguments

Returns:

vector of output ports

virtual std::vector<ov::Extension::Ptr> get_attached_extensions() const

Returns extensions that should be registered together with this extension class object.

Attached extensions may include frontend extensions that OpenVINO op to framework ops or necessary transformations that should be applied to the network which consist of target op.

Returns: