Arcane  v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ArrayExpressionImpl.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* ArrayExpressionImpl.h (C) 2000-2005 */
9/* */
10/* Expression traitant un tableau. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_EXPR_ARRAYEXPRESSIONIMPL_H
13#define ARCANE_EXPR_ARRAYEXPRESSIONIMPL_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17
18#include "arcane/expr/ExpressionImpl.h"
19#include "arcane/expr/Expression.h"
20#include "arcane/expr/ExpressionResult.h"
21#include "arcane/expr/BadOperandException.h"
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26ARCANE_BEGIN_NAMESPACE
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30
31class ArrayVariant;
32class ArrayOperator;
33
34/*---------------------------------------------------------------------------*/
35/*---------------------------------------------------------------------------*/
36
37class ArrayExpressionImpl
38: public ExpressionImpl
39{
40 public:
41
42 ArrayExpressionImpl(ArrayVariant* var);
43 ~ArrayExpressionImpl();
44
45 public:
46
47 virtual void assign(IExpressionImpl* expr);
48 virtual void assign(IExpressionImpl*, ConstArrayView<Integer> indices);
49 virtual void apply(ExpressionResult* result);
50 virtual Integer vectorSize() const;
51
52 private:
53 ArrayVariant* m_variant;
54 ArrayOperator* m_op;
55};
56
57/*---------------------------------------------------------------------------*/
58/*---------------------------------------------------------------------------*/
59
60ARCANE_END_NAMESPACE
61
62/*---------------------------------------------------------------------------*/
63/*---------------------------------------------------------------------------*/
64
65#endif
virtual Integer vectorSize() const
Nombre d'éléments du vecteur.
Operateur binaire generique pour les expressions.
Type de base polymorphe pour les tableaux (dimension 1).
Vue constante d'un tableau de type T.
Type de base polymorphe d'une expression.
Interface pour les différentes implémentations d'une expression.
Int32 Integer
Type représentant un entier.