21 #include "ngraph/node.hpp"
35 using RPatternValueMap = std::map<std::shared_ptr<Node>, OutputVector>;
36 using PatternValueMap = std::map<std::shared_ptr<Node>, Output<Node>>;
37 using PatternValueMaps = std::vector<PatternValueMap>;
39 using PatternMap = std::map<std::shared_ptr<Node>, std::shared_ptr<Node>>;
41 PatternMap as_pattern_map(
const PatternValueMap& pattern_value_map);
42 PatternValueMap as_pattern_value_map(
const PatternMap& pattern_map);
45 std::function<bool(std::shared_ptr<Node>)> has_class()
47 auto pred = [](std::shared_ptr<Node> node) ->
bool {
return is_type<T>(node); };
53 std::function<bool(Output<Node>)> consumers_count(
size_t n);
56 std::function<bool(Output<Node>)> has_static_dim(
size_t pos);
59 std::function<bool(Output<Node>)> has_static_dims(
const std::vector<size_t>& dims);
62 std::function<bool(Output<Node>)> has_static_shape();
65 std::function<bool(Output<Node>)> has_static_rank();
68 std::function<bool(Output<Node>)> type_matches(
const element::Type& type);
71 std::function<bool(Output<Node>)> type_matches_any(
const std::vector<element::Type>& types);
75 using NodePredicate = std::function<bool(std::shared_ptr<Node>)>;
76 using ValuePredicate = std::function<bool(
const Output<Node>& value)>;
79 ValuePredicate as_value_predicate(NodePredicate pred);
86 Pattern(
const OutputVector& patterns, ValuePredicate pred)
96 Pattern(
const OutputVector& patterns)
101 virtual std::shared_ptr<Node>
102 clone_with_new_inputs(
const OutputVector& )
const override
107 ValuePredicate get_predicate()
const;
110 ValuePredicate m_predicate;
A handle for one of a node's outputs.
Definition: node_output.hpp:42
Base error for ngraph runtime errors.
Definition: except.hpp:28
Definition: pattern.hpp:82
Pattern(const OutputVector &patterns, ValuePredicate pred)
a base class for
Definition: pattern.hpp:86
The Intel nGraph C++ API.
Definition: attribute_adapter.hpp:28