Arcane  v4.1.2.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IDataOperation.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 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/* IDataOperation.h (C) 2000-2025 */
9/* */
10/* Interface d'une opération sur une donnée. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_DATATYPE_IDATAOPERATION_H
13#define ARCANE_CORE_DATATYPE_IDATAOPERATION_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28class IDataOperation;
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
37{
38 public:
39
40 virtual ~IDataOperation() {}
41
42 public:
43
44 virtual void apply(ByteArrayView output,ByteConstArrayView input) =0;
45 virtual void apply(RealArrayView output,RealConstArrayView input) =0;
46 virtual void apply(Int16ArrayView output,Int16ConstArrayView input) =0;
47 virtual void apply(Int32ArrayView output,Int32ConstArrayView input) =0;
48 virtual void apply(Int64ArrayView output,Int64ConstArrayView input) =0;
49 virtual void apply(Real2ArrayView output,Real2ConstArrayView input) =0;
50 virtual void apply(Real3ArrayView output,Real3ConstArrayView input) =0;
51 virtual void apply(Real2x2ArrayView output,Real2x2ConstArrayView input) =0;
52 virtual void apply(Real3x3ArrayView output,Real3x3ConstArrayView input) =0;
53 virtual void apply(ArrayView<Int8> output,ConstArrayView<Int8> input) =0;
54 virtual void apply(ArrayView<Float16> output,ConstArrayView<Float16> input) =0;
55 virtual void apply(ArrayView<BFloat16> output,ConstArrayView<BFloat16> input) =0;
56 virtual void apply(ArrayView<Float32> output,ConstArrayView<Float32> input) =0;
57
58 virtual void applySpan(Span<Byte> output,Span<const Byte> input) =0;
59 virtual void applySpan(Span<Real> output,Span<const Real> input) =0;
60 virtual void applySpan(Span<Int16> output,Span<const Int16> input) =0;
61 virtual void applySpan(Span<Int32> output,Span<const Int32> input) =0;
62 virtual void applySpan(Span<Int64> output,Span<const Int64> input) =0;
63 virtual void applySpan(Span<Real2> output,Span<const Real2> input) =0;
64 virtual void applySpan(Span<Real3> output,Span<const Real3> input) =0;
65 virtual void applySpan(Span<Real2x2> output,Span<const Real2x2> input) =0;
66 virtual void applySpan(Span<Real3x3> output,Span<const Real3x3> input) =0;
67 virtual void applySpan(Span<Int8> output,Span<const Int8> input) =0;
68 virtual void applySpan(Span<Float16> output,Span<const Float16> input) =0;
69 virtual void applySpan(Span<BFloat16> output,Span<const BFloat16> input) =0;
70 virtual void applySpan(Span<Float32> output,Span<const Float32> input) =0;
71};
72
73/*---------------------------------------------------------------------------*/
74/*---------------------------------------------------------------------------*/
75
76} // End namespace Arcane
77
78/*---------------------------------------------------------------------------*/
79/*---------------------------------------------------------------------------*/
80
81#endif
Fichier contenant les définitions des types de données gérés par Arcane.
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.
Interface d'une opération sur une donnée.
virtual ~IDataOperation()
Libère les ressources.
Vue d'un tableau d'éléments de type T.
Definition Span.h:633
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
ArrayView< Int64 > Int64ArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
Definition UtilsTypes.h:451
ConstArrayView< Real3 > Real3ConstArrayView
Equivalent C d'un tableau à une dimension de Real3.
Definition UtilsTypes.h:496
ArrayView< Real2x2 > Real2x2ArrayView
Equivalent C d'un tableau à une dimension de Real2x2.
Definition UtilsTypes.h:469
ArrayView< Byte > ByteArrayView
Equivalent C d'un tableau à une dimension de caractères.
Definition UtilsTypes.h:447
ArrayView< Real3 > Real3ArrayView
Equivalent C d'un tableau à une dimension de Real3.
Definition UtilsTypes.h:467
ArrayView< Int16 > Int16ArrayView
Equivalent C d'un tableau à une dimension d'entiers 16 bits.
Definition UtilsTypes.h:455
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition UtilsTypes.h:482
ArrayView< Real3x3 > Real3x3ArrayView
Equivalent C d'un tableau à une dimension de Real3x3.
Definition UtilsTypes.h:471
ConstArrayView< Int16 > Int16ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 16 bits.
Definition UtilsTypes.h:484
ConstArrayView< Int64 > Int64ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
Definition UtilsTypes.h:480
ArrayView< Int32 > Int32ArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition UtilsTypes.h:453
ConstArrayView< Byte > ByteConstArrayView
Equivalent C d'un tableau à une dimension de caractères.
Definition UtilsTypes.h:476
ConstArrayView< Real2 > Real2ConstArrayView
Equivalent C d'un tableau à une dimension de Real2.
Definition UtilsTypes.h:494
ArrayView< Real2 > Real2ArrayView
Equivalent C d'un tableau à une dimension de Real2.
Definition UtilsTypes.h:465
ArrayView< Real > RealArrayView
Equivalent C d'un tableau à une dimension de réels.
Definition UtilsTypes.h:459
ConstArrayView< Real3x3 > Real3x3ConstArrayView
Equivalent C d'un tableau à une dimension de Real3x3.
Definition UtilsTypes.h:500
ConstArrayView< Real2x2 > Real2x2ConstArrayView
Equivalent C d'un tableau à une dimension de Real2x2.
Definition UtilsTypes.h:498
ConstArrayView< Real > RealConstArrayView
Equivalent C d'un tableau à une dimension de réels.
Definition UtilsTypes.h:488