Files
ANSLibs/OpenVINO/runtime/include/openvino/frontend/onnx/node_context.hpp

39 lines
1.1 KiB
C++

// Copyright (C) 2018-2025 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
#pragma once
#include "openvino/frontend/extension/conversion.hpp"
#include "openvino/frontend/node_context.hpp"
#include "openvino/frontend/onnx/visibility.hpp"
namespace ov {
namespace frontend {
namespace onnx {
class Node;
class ONNX_FRONTEND_API NodeContext : public ov::frontend::NodeContext {
public:
using Ptr = std::shared_ptr<NodeContext>;
explicit NodeContext(const ov::frontend::onnx::Node& context);
size_t get_input_size() const override;
Output<ov::Node> get_input(int port_idx) const override;
const std::string& get_name() const override;
ov::Any get_attribute_as_any(const std::string& name) const override;
protected:
const ov::frontend::onnx::Node& m_context;
ov::OutputVector m_inputs;
private:
ov::Any apply_additional_conversion_rules(const ov::Any& data, const std::type_info& type_info) const override;
};
using CreatorFunction = std::function<ov::OutputVector(const ov::frontend::onnx::Node&)>;
} // namespace onnx
} // namespace frontend
} // namespace ov