Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
ArrayExpressionImpl.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 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 handling an array. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_EXPR_ARRAYEXPRESSIONIMPL_H
13#define ARCANE_EXPR_ARRAYEXPRESSIONIMPL_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/expr/ExpressionImpl.h"
18#include "arcane/expr/Expression.h"
19#include "arcane/expr/ExpressionResult.h"
20#include "arcane/expr/BadOperandException.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25namespace Arcane
26{
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30class ArrayVariant;
31class ArrayOperator;
32
33/*---------------------------------------------------------------------------*/
34/*---------------------------------------------------------------------------*/
35
36class ArrayExpressionImpl
37: public ExpressionImpl
38{
39 public:
40
41 ArrayExpressionImpl(ArrayVariant* var);
42 ~ArrayExpressionImpl();
43
44 public:
45
46 virtual void assign(IExpressionImpl* expr);
47 virtual void assign(IExpressionImpl*, ConstArrayView<Integer> indices);
48 virtual void apply(ExpressionResult* result);
49 virtual Integer vectorSize() const;
50
51 private:
52
53 ArrayVariant* m_variant;
54 ArrayOperator* m_op;
55};
56
57/*---------------------------------------------------------------------------*/
58/*---------------------------------------------------------------------------*/
59
60} // namespace Arcane
61
62/*---------------------------------------------------------------------------*/
63/*---------------------------------------------------------------------------*/
64
65#endif
virtual Integer vectorSize() const
Number of elements in the vector.
Generic binary operator for expressions.
Polymorphic base type for arrays (dimension 1).
Constant view of an array of type T.
Polymorphic base type of an expression.
Interface for the different implementations of an expression.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type representing an integer.