2018-11-20 00:48:22 +00:00
|
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
|
|
|
// Licensed under the MIT License.
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "core/common/common.h"
|
|
|
|
|
#include "core/graph/indexed_sub_graph.h"
|
|
|
|
|
|
|
|
|
|
namespace onnxruntime {
|
|
|
|
|
class Graph;
|
|
|
|
|
class Node;
|
|
|
|
|
} // namespace onnxruntime
|
|
|
|
|
|
|
|
|
|
namespace onnxruntime {
|
|
|
|
|
|
2023-04-18 16:26:58 +00:00
|
|
|
/**
|
|
|
|
|
@class Function
|
2018-11-28 16:42:11 +00:00
|
|
|
Class representing a Function.
|
|
|
|
|
*/
|
2018-11-20 00:48:22 +00:00
|
|
|
class Function {
|
|
|
|
|
public:
|
2019-01-17 01:12:22 +00:00
|
|
|
virtual ~Function() = default;
|
2018-11-28 16:42:11 +00:00
|
|
|
|
|
|
|
|
/** Gets the Graph instance for the Function body subgraph. */
|
2018-11-20 00:48:22 +00:00
|
|
|
virtual const onnxruntime::Graph& Body() const = 0;
|
2021-09-08 18:47:01 +00:00
|
|
|
|
|
|
|
|
/** Gets the Mutable Graph instance for the Function body subgraph. */
|
|
|
|
|
virtual onnxruntime::Graph& MutableBody() = 0;
|
2018-11-20 00:48:22 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
} // namespace onnxruntime
|