Arcane  v4.1.0.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:612
-*- 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:467
ConstArrayView< Real3 > Real3ConstArrayView
Equivalent C d'un tableau à une dimension de Real3.
Definition UtilsTypes.h:512
ArrayView< Real2x2 > Real2x2ArrayView
Equivalent C d'un tableau à une dimension de Real2x2.
Definition UtilsTypes.h:485
ArrayView< Byte > ByteArrayView
Equivalent C d'un tableau à une dimension de caractères.
Definition UtilsTypes.h:463
ArrayView< Real3 > Real3ArrayView
Equivalent C d'un tableau à une dimension de Real3.
Definition UtilsTypes.h:483
ArrayView< Int16 > Int16ArrayView
Equivalent C d'un tableau à une dimension d'entiers 16 bits.
Definition UtilsTypes.h:471
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition UtilsTypes.h:498
ArrayView< Real3x3 > Real3x3ArrayView
Equivalent C d'un tableau à une dimension de Real3x3.
Definition UtilsTypes.h:487
ConstArrayView< Int16 > Int16ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 16 bits.
Definition UtilsTypes.h:500
ConstArrayView< Int64 > Int64ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
Definition UtilsTypes.h:496
ArrayView< Int32 > Int32ArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition UtilsTypes.h:469
ConstArrayView< Byte > ByteConstArrayView
Equivalent C d'un tableau à une dimension de caractères.
Definition UtilsTypes.h:492
ConstArrayView< Real2 > Real2ConstArrayView
Equivalent C d'un tableau à une dimension de Real2.
Definition UtilsTypes.h:510
ArrayView< Real2 > Real2ArrayView
Equivalent C d'un tableau à une dimension de Real2.
Definition UtilsTypes.h:481
ArrayView< Real > RealArrayView
Equivalent C d'un tableau à une dimension de réels.
Definition UtilsTypes.h:475
ConstArrayView< Real3x3 > Real3x3ConstArrayView
Equivalent C d'un tableau à une dimension de Real3x3.
Definition UtilsTypes.h:516
ConstArrayView< Real2x2 > Real2x2ConstArrayView
Equivalent C d'un tableau à une dimension de Real2x2.
Definition UtilsTypes.h:514
ConstArrayView< Real > RealConstArrayView
Equivalent C d'un tableau à une dimension de réels.
Definition UtilsTypes.h:504