23 #include "ngraph/deprecated.hpp"
24 #include "ngraph/function.hpp"
25 #include "ngraph/node.hpp"
26 #include "ngraph/util.hpp"
32 using param_callback = std::function<bool(
const std::shared_ptr<const ::ngraph::Node>)>;
33 using param_callback_map = std::map<ngraph::DiscreteTypeInfo, param_callback>;
80 NGRAPH_SUPPRESS_DEPRECATED_START
81 disable(T::type_info);
82 NGRAPH_SUPPRESS_DEPRECATED_END
92 NGRAPH_SUPPRESS_DEPRECATED_START
94 NGRAPH_SUPPRESS_DEPRECATED_END
98 void set_callback(
const param_callback& callback) { m_callback = callback; }
99 template <
typename... Args>
100 typename std::enable_if<
sizeof...(Args) == 0>::type
101 set_callback(
const param_callback& callback)
129 template <
typename T,
class... Args>
132 m_callback_map[T::type_info] = callback;
133 set_callback<Args...>(callback);
146 template <
typename T>
149 NGRAPH_SUPPRESS_DEPRECATED_START
150 return get_callback(T::type_info);
151 NGRAPH_SUPPRESS_DEPRECATED_END
159 return m_disabled.count(type_info);
164 template <
typename T>
167 NGRAPH_SUPPRESS_DEPRECATED_START
168 return is_disabled(T::type_info);
169 NGRAPH_SUPPRESS_DEPRECATED_END
177 return m_enabled.count(type_info);
182 template <
typename T>
185 return is_enabled(T::type_info);
188 void add_disabled_passes(
const PassConfig& rhs);
191 param_callback m_callback = [](
const std::shared_ptr<const ::ngraph::Node>&) {
194 param_callback_map m_callback_map;
195 std::unordered_set<DiscreteTypeInfo> m_disabled;
196 std::unordered_set<DiscreteTypeInfo> m_enabled;
Class representing a transformations config that is used for disabling/enabling transformations regis...
Definition: pass_config.hpp:71
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:175
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:147
bool is_disabled() const
Check either transformation class type is disabled or not.
Definition: pass_config.hpp:165
void enable()
Enable transformation by its class type (based on type_info)
Definition: pass_config.hpp:90
void set_callback(const param_callback &callback)
Set callback for particular transformation class types.
Definition: pass_config.hpp:130
void set_callback(const param_callback &callback)
Set callback for all kind of transformations.
Definition: pass_config.hpp:98
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:78
bool is_enabled() const
Check either transformation class type is force enabled or not.
Definition: pass_config.hpp:183
bool is_disabled(const DiscreteTypeInfo &type_info) const
Check either transformation type is disabled or not.
Definition: pass_config.hpp:157
The Intel nGraph C++ API.
Definition: attribute_adapter.hpp:28