9 #include "ngraph/node.hpp"
23 using RPatternValueMap = std::map<std::shared_ptr<Node>, OutputVector>;
24 using PatternValueMap = std::map<std::shared_ptr<Node>, Output<Node>>;
25 using PatternValueMaps = std::vector<PatternValueMap>;
27 using PatternMap = std::map<std::shared_ptr<Node>, std::shared_ptr<Node>>;
29 PatternMap as_pattern_map(
const PatternValueMap& pattern_value_map);
30 PatternValueMap as_pattern_value_map(
const PatternMap& pattern_map);
33 std::function<bool(std::shared_ptr<Node>)> has_class()
35 auto pred = [](std::shared_ptr<Node> node) ->
bool {
return is_type<T>(node); };
41 std::function<bool(Output<Node>)> consumers_count(
size_t n);
44 std::function<bool(Output<Node>)> has_static_dim(
size_t pos);
47 std::function<bool(Output<Node>)> has_static_dims(
const std::vector<size_t>& dims);
50 std::function<bool(Output<Node>)> has_static_shape();
53 std::function<bool(Output<Node>)> has_static_rank();
56 std::function<bool(Output<Node>)> rank_equals(
const Dimension& expected_rank);
59 std::function<bool(Output<Node>)> type_matches(
const element::Type& type);
62 std::function<bool(Output<Node>)> type_matches_any(
const std::vector<element::Type>& types);
66 using NodePredicate = std::function<bool(std::shared_ptr<Node>)>;
67 using ValuePredicate = std::function<bool(
const Output<Node>& value)>;
70 ValuePredicate as_value_predicate(NodePredicate pred);
77 Pattern(
const OutputVector& patterns, ValuePredicate pred)
87 Pattern(
const OutputVector& patterns)
92 virtual std::shared_ptr<Node>
93 clone_with_new_inputs(
const OutputVector& )
const override
98 ValuePredicate get_predicate()
const;
101 ValuePredicate m_predicate;
A handle for one of a node's outputs.
Definition: node_output.hpp:33
Base error for ngraph runtime errors.
Definition: except.hpp:16
Definition: pattern.hpp:73
Pattern(const OutputVector &patterns, ValuePredicate pred)
a base class for
Definition: pattern.hpp:77
The Intel nGraph C++ API.
Definition: attribute_adapter.hpp:16