7 #include <ngraph/output_vector.hpp>
8 #include <ngraph/variant.hpp>
9 #include "ngraph/op/util/variable.hpp"
10 #include "ngraph/op/util/variable_value.hpp"
14 using VariableValuePtr = std::shared_ptr<VariableValue>;
15 using VariableMap = std::unordered_map<VariablePtr, VariableValuePtr>;
27 : m_variable_values(variable_values)
34 for (
const auto& el : m_variable_values)
36 el.second->set_reset(
true);
44 m_variable_values = variable_values;
52 m_variable_values[variable] = variable_value;
59 m_variable_values.erase(variable);
68 auto var_value = m_variable_values.find(variable);
69 if (var_value != m_variable_values.end())
71 return (*var_value).second;
73 return VariableValuePtr();
78 VariableMap m_variable_values;
85 static constexpr
VariantTypeInfo type_info{
"Variant::EvaluationContext::VariableContext",
88 const VariantTypeInfo& get_type_info()
const override {
return type_info; }
VariableContext stores and manages a evaluation context for Variables.
Definition: variable_context.hpp:19
VariableValuePtr get_variable_value(const VariablePtr &variable) const
Returns the value for specified Variable.
Definition: variable_context.hpp:66
VariableContext()=default
Constructs an uninitialized VariableContext.
void reset_variable_context() const
Sets the reset flags for all stored Variables to true.
Definition: variable_context.hpp:32
void set_variable_value(const VariablePtr &variable, const VariableValuePtr &variable_value)
Changes/sets the values for Variable.
Definition: variable_context.hpp:50
void remove_variable_value(const VariablePtr &variable)
Removes context for a particular Variable.
Definition: variable_context.hpp:57
VariableContext(const VariableMap &variable_values)
Constructor for VariableContext.
Definition: variable_context.hpp:26
const VariableMap & get_variable_values() const
Returns the current values for Variables.
Definition: variable_context.hpp:63
void set_variable_values(const VariableMap &variable_values)
Sets the new values for Variables.
Definition: variable_context.hpp:42
Definition: variant.hpp:29
Definition: variant.hpp:51
The Intel nGraph C++ API.
Definition: attribute_adapter.hpp:16