11 #include "ngraph/deprecated.hpp"
12 #include "ngraph/function.hpp"
13 #include "ngraph/node.hpp"
14 #include "ngraph/util.hpp"
20 using param_callback = std::function<bool(
const std::shared_ptr<const ::ngraph::Node>)>;
21 using param_callback_map = std::map<ngraph::DiscreteTypeInfo, param_callback>;
68 NGRAPH_SUPPRESS_DEPRECATED_START
69 disable(T::type_info);
70 NGRAPH_SUPPRESS_DEPRECATED_END
80 NGRAPH_SUPPRESS_DEPRECATED_START
82 NGRAPH_SUPPRESS_DEPRECATED_END
86 void set_callback(
const param_callback& callback) { m_callback = callback; }
87 template <
typename... Args>
88 typename std::enable_if<
sizeof...(Args) == 0>::type
89 set_callback(
const param_callback& callback)
117 template <
typename T,
class... Args>
120 m_callback_map[T::type_info] = callback;
121 set_callback<Args...>(callback);
134 template <
typename T>
137 NGRAPH_SUPPRESS_DEPRECATED_START
138 return get_callback(T::type_info);
139 NGRAPH_SUPPRESS_DEPRECATED_END
147 return m_disabled.count(type_info);
152 template <
typename T>
155 NGRAPH_SUPPRESS_DEPRECATED_START
156 return is_disabled(T::type_info);
157 NGRAPH_SUPPRESS_DEPRECATED_END
165 return m_enabled.count(type_info);
170 template <
typename T>
173 return is_enabled(T::type_info);
176 void add_disabled_passes(
const PassConfig& rhs);
179 param_callback m_callback = [](
const std::shared_ptr<const ::ngraph::Node>&) {
182 param_callback_map m_callback_map;
183 std::unordered_set<DiscreteTypeInfo> m_disabled;
184 std::unordered_set<DiscreteTypeInfo> m_enabled;
Class representing a transformations config that is used for disabling/enabling transformations regis...
Definition: pass_config.hpp:59
param_callback get_callback(const DiscreteTypeInfo &type_info) const
Get callback for given transformation type_info.
bool is_enabled(const DiscreteTypeInfo &type_info) const
Check either transformation type is force enabled or not.
Definition: pass_config.hpp:163
void disable(const DiscreteTypeInfo &type_info)
Disable transformation by its type_info.
param_callback get_callback() const
Get callback for given transformation class type.
Definition: pass_config.hpp:135
bool is_disabled() const
Check either transformation class type is disabled or not.
Definition: pass_config.hpp:153
void enable()
Enable transformation by its class type (based on type_info)
Definition: pass_config.hpp:78
void set_callback(const param_callback &callback)
Set callback for particular transformation class types.
Definition: pass_config.hpp:118
void set_callback(const param_callback &callback)
Set callback for all kind of transformations.
Definition: pass_config.hpp:86
void enable(const DiscreteTypeInfo &type_info)
Enable transformation by its type_info.
void disable()
Disable transformation by its class type (based on type_info)
Definition: pass_config.hpp:66
bool is_enabled() const
Check either transformation class type is force enabled or not.
Definition: pass_config.hpp:171
bool is_disabled(const DiscreteTypeInfo &type_info) const
Check either transformation type is disabled or not.
Definition: pass_config.hpp:145
The Intel nGraph C++ API.
Definition: attribute_adapter.hpp:16