7#error "VariableExpression are no longer available. Do not include this file"
13#ifndef ARCANE_VARIABLEEXPRESSIONIMPL_H
14#define ARCANE_VARIABLEEXPRESSIONIMPL_H
19#include "arcane/expr/ExpressionImpl.h"
20#include "arcane/expr/Expression.h"
21#include "arcane/expr/ExpressionResult.h"
22#include "arcane/expr/BadOperandException.h"
33class VariableOperator;
38class VariableExpressionImpl
39:
public ExpressionImpl
47 virtual void assign(IExpressionImpl* expr);
49 virtual void apply(ExpressionResult* result);
50 virtual Integer vectorSize()
const;
67 virtual void assign(ExpressionResult* res,
IVariable* var)=0;
68 virtual void evaluate(ExpressionResult* res,
IVariable* var)=0;
81 virtual void assign(ExpressionResult* res,
IVariable* var)
89 res->
data()->value(res_val);
90 ExpressionResult var_res(var);
92 var_res.
data()->value(var_val);
95 for(
Integer i=0 ; i<size ; ++i)
96 var_val[res_indices[i]] = res_val[i];
99 virtual void evaluate(ExpressionResult* res,
IVariable* var)
105 throw BadOperandException(
"VariableOperatorT::evaluate");
108 VariantBase::eType type = VariantBase::fromDataType(var->
dataType());
113 res->
data()->value(res_val);
114 ExpressionResult var_res(var);
116 var_res.
data()->value(var_val);
119 for(
Integer i=0 ; i<size ; ++i)
120 res_val[i] = var_val[res_indices[i]];
Vue modifiable d'un tableau d'un type T.
constexpr const_pointer data() const noexcept
Pointeur sur le début de la vue.
virtual eDataType dataType() const =0
Type de la donnée gérée par la variable (Real, Integer, ...)
virtual Integer nbElement() const =0
Nombre d'éléments de la variable.
Operateur binaire generique pour les expressions.
Int32 Integer
Type représentant un entier.
ConstArrayView< Integer > IntegerConstArrayView
Equivalent C d'un tableau à une dimension d'entiers.