class ov::BaseOpExtension

Overview

The base interface for OpenVINO operation extensions. More…

#include <op_extension.hpp>

class BaseOpExtension: public ov::Extension
{
public:
    // typedefs

    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;
};

// direct descendants

template <class T>
class OpExtension;

Inherited Members

public:
    // typedefs

    typedef std::shared_ptr<Extension> Ptr;

Detailed Documentation

The base interface for OpenVINO operation extensions.

Methods

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

Returns the type info of operation.

Returns:

ov::DiscreteTypeInfo

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

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 = 0

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: