9 #include <unordered_set>
11 #include "ngraph/descriptor/tensor.hpp"
12 #include "ngraph/partial_shape.hpp"
13 #include "ngraph/shape.hpp"
14 #include "ngraph/type/element_type.hpp"
20 template <
typename NodeType>
23 template <
typename NodeType>
45 Output(
const std::shared_ptr<Node>& node,
size_t index);
50 Output(
const std::shared_ptr<T>& node)
82 using RTMap = std::map<std::string, std::shared_ptr<Variant>>;
101 bool operator==(
const Output& other)
const;
102 bool operator!=(
const Output& other)
const;
103 bool operator<(
const Output& other)
const;
104 bool operator>(
const Output& other)
const;
105 bool operator<=(
const Output& other)
const;
106 bool operator>=(
const Output& other)
const;
109 std::shared_ptr<Node> m_node;
127 Output(
const std::shared_ptr<const Node>& node,
size_t index);
131 template <
typename T>
164 using RTMap = std::map<std::string, std::shared_ptr<Variant>>;
171 bool operator==(
const Output& other)
const;
172 bool operator!=(
const Output& other)
const;
173 bool operator<(
const Output& other)
const;
174 bool operator>(
const Output& other)
const;
175 bool operator<=(
const Output& other)
const;
176 bool operator>=(
const Output& other)
const;
179 std::shared_ptr<const Node> m_node;
183 NGRAPH_API std::ostream& operator<<(std::ostream& out,
const Output<Node>& output);
184 NGRAPH_API std::ostream& operator<<(std::ostream& out,
const Output<const Node>& output);
A handle for one of a node's outputs.
Definition: node_output.hpp:33
void remove_target_input(const Input< Node > &target_input) const
Removes a target input from the output referenced by this output handle.
Output(const std::shared_ptr< Node > &node, size_t index)
Constructs a Output.
std::set< Input< Node > > get_target_inputs() const
const element::Type & get_element_type() const
const PartialShape & get_partial_shape() const
std::shared_ptr< Node > get_node_shared_ptr() const
const RTMap & get_rt_info() const
void replace(const Output< Node > &replacement)
Replace all users of this value with replacement.
Output< Node > for_node(const std::shared_ptr< Node > &node)
This output position for a different node.
descriptor::Tensor & get_tensor() const
std::shared_ptr< descriptor::Tensor > get_tensor_ptr() const
Output(const std::shared_ptr< T > &node)
Constructs a Output, referencing the zeroth output of the node.
Definition: node_output.hpp:50
Output()=default
A null output.
Output(Node *node, size_t index)
Constructs a Output.
const Shape & get_shape() const
Definition: node_output.hpp:115
Output(const Node *node, size_t index)
Constructs a Output.
Output< const Node > for_node(const std::shared_ptr< const Node > &node)
This output position for a different node.
Output()=default
A null output.
const element::Type & get_element_type() const
const RTMap & get_rt_info() const
descriptor::Tensor & get_tensor() const
std::set< Input< Node > > get_target_inputs() const
std::shared_ptr< const Node > get_node_shared_ptr() const
Output(const std::shared_ptr< T > &node)
Constructs a Output, referencing the zeroth output of the node.
Definition: node_output.hpp:132
Output(const std::shared_ptr< const Node > &node, size_t index)
Constructs a Output.
const Node * get_node() const
const Shape & get_shape() const
const PartialShape & get_partial_shape() const
std::shared_ptr< descriptor::Tensor > get_tensor_ptr() const
Definition: node_output.hpp:25
Class representing a shape that may be partially or totally dynamic.
Definition: partial_shape.hpp:34
Shape for a tensor.
Definition: shape.hpp:19
Definition: variant.hpp:18
Compile-time descriptor of a first-class value that is a tensor.
Definition: tensor.hpp:28
Definition: element_type.hpp:51
The Intel nGraph C++ API.
Definition: attribute_adapter.hpp:16