Arcane  v3.16.8.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:513
-*- 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:538
ConstArrayView< Real3 > Real3ConstArrayView
Equivalent C d'un tableau à une dimension de Real3.
Definition UtilsTypes.h:583
ArrayView< Real2x2 > Real2x2ArrayView
Equivalent C d'un tableau à une dimension de Real2x2.
Definition UtilsTypes.h:556
ArrayView< Byte > ByteArrayView
Equivalent C d'un tableau à une dimension de caractères.
Definition UtilsTypes.h:534
ArrayView< Real3 > Real3ArrayView
Equivalent C d'un tableau à une dimension de Real3.
Definition UtilsTypes.h:554
ArrayView< Int16 > Int16ArrayView
Equivalent C d'un tableau à une dimension d'entiers 16 bits.
Definition UtilsTypes.h:542
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition UtilsTypes.h:569
ArrayView< Real3x3 > Real3x3ArrayView
Equivalent C d'un tableau à une dimension de Real3x3.
Definition UtilsTypes.h:558
ConstArrayView< Int16 > Int16ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 16 bits.
Definition UtilsTypes.h:571
ConstArrayView< Int64 > Int64ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
Definition UtilsTypes.h:567
ArrayView< Int32 > Int32ArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition UtilsTypes.h:540
ConstArrayView< Byte > ByteConstArrayView
Equivalent C d'un tableau à une dimension de caractères.
Definition UtilsTypes.h:563
ConstArrayView< Real2 > Real2ConstArrayView
Equivalent C d'un tableau à une dimension de Real2.
Definition UtilsTypes.h:581
ArrayView< Real2 > Real2ArrayView
Equivalent C d'un tableau à une dimension de Real2.
Definition UtilsTypes.h:552
ArrayView< Real > RealArrayView
Equivalent C d'un tableau à une dimension de réels.
Definition UtilsTypes.h:546
ConstArrayView< Real3x3 > Real3x3ConstArrayView
Equivalent C d'un tableau à une dimension de Real3x3.
Definition UtilsTypes.h:587
ConstArrayView< Real2x2 > Real2x2ConstArrayView
Equivalent C d'un tableau à une dimension de Real2x2.
Definition UtilsTypes.h:585
ConstArrayView< Real > RealConstArrayView
Equivalent C d'un tableau à une dimension de réels.
Definition UtilsTypes.h:575