Lines Matching defs:variable
536 template <typename T> class Variable;
543 VariableP<T> variable (const string& name);
547 * \brief A variable environment.
559 void bind (const Variable<T>& variable,
565 de::insert(m_map, variable.getName(), SharedPtr<deUint8>(data));
569 typename Traits<T>::IVal& lookup (const Variable<T>& variable) const
571 deUint8* const data = de::lookup(m_map, variable.getName()).get();
585 * point precision and the current variable environment.
632 return variable<T>(baseName + de::toString(m_symCounter()));
653 * effects only: the execute() method should modify at least one variable in
657 * when it is evaluated, it can add a variable binding to the environment
700 * A statement that modifies a variable or a declaration that binds a variable.
707 VariableStatement (const VariableP<T>& variable, const ExprP<T>& value,
709 : m_variable (variable)
743 StatementP variableStatement (const VariableP<T>& variable,
747 return StatementP(new VariableStatement<T>(variable, value, isDeclaration));
751 StatementP variableDeclaration (const VariableP<T>& variable, const ExprP<T>& definiens)
753 return variableStatement(variable, definiens, true);
757 StatementP variableAssignment (const VariableP<T>& variable, const ExprP<T>& value)
759 return variableStatement(variable, value, false);
923 * \brief A shared pointer to a variable expression.
925 * This is just a narrowing of ExprP for the operations that require a variable
930 class VariableP : public SharedPtr<const Variable<T> >
933 typedef SharedPtr<const Variable<T> > Super;
934 explicit VariableP (const Variable<T>* ptr) : Super(ptr) {}
992 * \brief Variable expression.
994 * A variable is evaluated by looking up its range of possible values from an
998 class Variable : public Expr<T>
1003 Variable (const string& name) : m_name (name) {}
1018 VariableP<T> variable (const string& name)
1020 return VariableP<T>(new Variable<T>(name));
1372 const Variable<Arg0>& var0 = static_cast<const Variable<Arg0>&>(*this->m_args.a);
1373 const Variable<Arg1>& var1 = static_cast<const Variable<Arg1>&>(*this->m_args.b);
1374 const Variable<Arg2>& var2 = static_cast<const Variable<Arg2>&>(*this->m_args.c);
1375 const Variable<Arg3>& var3 = static_cast<const Variable<Arg3>&>(*this->m_args.d);
1501 args.a = m_var0 = variable<Arg0>(paramNames.a);
1502 args.b = m_var1 = variable<Arg1>(paramNames.b);
1503 args.c = m_var2 = variable<Arg2>(paramNames.c);
1504 args.d = m_var3 = variable<Arg3>(paramNames.d);
4312 Symbol makeSymbol (const Variable<T>& variable)
4314 return Symbol(variable.getName(), getVarTypeOf<T>(m_ctx.precision));
4783 variables.out0 = variable<Ret>("out0");
4784 variables.out1 = variable<Void>("out1");
4785 variables.in0 = variable<Arg0>("in0");
4786 variables.in1 = variable<Arg1>("in1");
4787 variables.in2 = variable<Arg2>("in2");
4788 variables.in3 = variable<Arg3>("in3");
4841 variables.out0 = variable<Ret>("out0");
4842 variables.out1 = variable<Arg1>("out1");
4843 variables.in0 = variable<Arg0>("in0");
4844 variables.in1 = variable<Arg2>("in1");
4845 variables.in2 = variable<Arg3>("in2");
4846 variables.in3 = variable<Void>("in3");