class ov::pass::PassBase

Overview

Base class for transformation passes. More…

#include <pass.hpp>

class PassBase
{
public:
    // typedefs

    typedef DiscreteTypeInfo type_info_t;

    // methods

    bool get_property(const PassPropertyMask& prop_mask) const;
    void set_name(const std::string& name);
    std::string get_name() const;
    void set_callback(const param_callback& callback);
    virtual void set_pass_config(const std::shared_ptr<PassConfig>& pass_config);
    std::shared_ptr<PassConfig> get_pass_config();
    bool m_transformation_callback(const std::shared_ptr<const Node>& node);
    bool transformation_callback(const std::shared_ptr<const Node>& node);
    virtual const type_info_t& get_type_info() const = 0;
};

// direct descendants

class MatcherPass;
class ModelPass;

Detailed Documentation

Base class for transformation passes.

Methods

bool get_property(const PassPropertyMask& prop_mask) const

Check if this pass has all the pass properties.

void set_callback(const param_callback& callback)

Set callback for particular transformation type. This method set global callback. For more details see PassConfig class documentation.

Parameters:

callback

lambda function that takes node and returns bool

virtual void set_pass_config(const std::shared_ptr<PassConfig>& pass_config)

Set PassConfig for particular transformation instance.

Parameters:

pass_config

is a PassConfig shared_ptr

std::shared_ptr<PassConfig> get_pass_config()

Allows to access PassConfig shared instance.

Returns:

Shared instance of PassConfig class

bool m_transformation_callback(const std::shared_ptr<const Node>& node)

Applies callback for given node. By default callback returns false. This method remains here only for backward compatibility and will be removed after all transformations are moved to transformation_callback() method.

Returns:

result of callback execution for given node

bool transformation_callback(const std::shared_ptr<const Node>& node)

Applies callback for given node. By default callback returns false.

Parameters:

node

which will be used inside callback

Returns:

result of callback execution for given node