20 #include <unordered_set>
22 #include "ngraph/descriptor/tensor.hpp"
23 #include "ngraph/partial_shape.hpp"
24 #include "ngraph/shape.hpp"
25 #include "ngraph/type/element_type.hpp"
31 template <
typename NodeType>
34 template <
typename NodeType>
54 Output(
const std::shared_ptr<Node>& node,
size_t index);
59 Output(
const std::shared_ptr<T>& node)
104 bool operator==(
const Output& other)
const;
105 bool operator!=(
const Output& other)
const;
106 bool operator<(
const Output& other)
const;
107 bool operator>(
const Output& other)
const;
108 bool operator<=(
const Output& other)
const;
109 bool operator>=(
const Output& other)
const;
112 std::shared_ptr<Node> m_node;
130 Output(
const std::shared_ptr<const Node>& node,
size_t index);
134 template <
typename T>
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:42
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
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:59
Output()=default
A null output.
Output(Node *node, size_t index)
Constructs a Output.
const Shape & get_shape() const
Definition: node_output.hpp:118
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
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:135
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:36
Class representing a shape that may be partially or totally dynamic.
Definition: partial_shape.hpp:46
Shape for a tensor.
Definition: shape.hpp:31
Compile-time descriptor of a first-class value that is a tensor.
Definition: tensor.hpp:40
Definition: element_type.hpp:61
The Intel nGraph C++ API.
Definition: attribute_adapter.hpp:28