Defining a Fusion Pattern Class

In the fusion pattern header file (for example, decode_bbox_v2_scope_fusion_pass.h), define a scope fusion pattern class, which is inherited from Class ScopeBasePass.

#ifndef FRAMEWORK_TF_SCOPE_FUSION_PASS_DECODE_BBOX_V2_PASS_H_     // Define a condition.
#define FRAMEWORK_TF_SCOPE_FUSION_PASS_DECODE_BBOX_V2_PASS_H_     // Define a macro.

#include <string>
#include <vector>
#include "register/scope/scope_fusion_pass_register.h"

namespace ge {
    class DecodeBboxV2ScopeFusionPass : public ScopeBasePass {
    protected:
        std::vector<ScopeFusionPatterns> DefinePatterns() override;
        std::string PassName() override;
        Status LastMatchScopesAndOPs(std::shared_ptr<ScopeGraph> &scope_graph, std::vector<ScopesResult> &results) override;
        void GenerateFusionResult(const std::vector<Scope *> &scopes, FusionScopesResult *fusion_rlt) override;
    private:
        void GenScopePatterns(ScopeFusionPatterns &patterns);
    };
}  // namespace ge
#endif  // FRAMEWORK_TF_SCOPE_FUSION_PASS_DECODE_BBOX_V2_PASS_H_ End conditional compilation.