Arcane  v3.15.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
SerializeGlobal.cc
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 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/* SerializeGlobal.cc (C) 2000-2024 */
9/* */
10/* Définitions globales de la composante 'Serialize' de 'Arccore'. */
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
14#include "arccore/serialize/BasicSerializer.h"
15
16#include "arccore/base/Ref.h"
17#include "arccore/base/Span.h"
19
20namespace Arccore
21{
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
28{
29 put(values);
30}
31
34{
35 put(values);
36}
37
40{
41 put(values);
42}
43
46{
47 put(values);
48}
49
52{
53 put(values);
54}
55
56/*---------------------------------------------------------------------------*/
57/*---------------------------------------------------------------------------*/
58
61{
62 reserveSpan(DT_Real, values.size());
63}
64
70
76
82
85{
86 reserveSpan(DT_Byte, values.size());
87}
88
91{
92 reserveSpan(DT_Int8, values.size());
93}
94
100
106
109{
110 reserveSpan(DT_Float32, values.size());
111}
112
118
124
125/*---------------------------------------------------------------------------*/
126/*---------------------------------------------------------------------------*/
127
129getSpan(Span<Real> values)
130{
131 get(values.smallView());
132}
133
135getSpan(Span<Int16> values)
136{
137 get(values.smallView());
138}
139
141getSpan(Span<Int32> values)
142{
143 get(values.smallView());
144}
145
147getSpan(Span<Int64> values)
148{
149 get(values.smallView());
150}
151
153getSpan(Span<Byte> values)
154{
155 get(values.smallView());
156}
157
158/*---------------------------------------------------------------------------*/
159/*---------------------------------------------------------------------------*/
160
162reserve(int dt, Int64 n)
163{
164 reserve(static_cast<eDataType>(dt), n);
165}
166
167/*---------------------------------------------------------------------------*/
168/*---------------------------------------------------------------------------*/
169
171reserveSpan(int dt, Int64 n)
172{
173 reserveSpan(static_cast<eDataType>(dt), n);
174}
175
176/*---------------------------------------------------------------------------*/
177/*---------------------------------------------------------------------------*/
178
179Ref<ISerializer>
181{
182 auto* x = new BasicSerializer();
183 return makeRef<ISerializer>(x);
184}
185
186/*---------------------------------------------------------------------------*/
187/*---------------------------------------------------------------------------*/
188
189} // End namespace Arccore
Fichier contenant les définitions des types de données basiques gérés par Arccore.
Gestion des références à une classe C++.
virtual void get(RealArrayView values)=0
Récupère le tableau values.
virtual void reserveSpan(eDataType dt, Int64 n)=0
Réserve de la mémoire pour n valeurs de dt.
virtual void putSpan(Span< const Real > values)
Ajoute le tableau values.
virtual void getSpan(Span< Real > values)
Récupère le tableau values.
virtual void reserve(eDataType dt, Int64 n)=0
Réserve de la mémoire pour n objets de type dt.
virtual void put(Span< const Real > values)=0
Ajoute le tableau values.
constexpr __host__ __device__ SizeType size() const noexcept
Retourne la taille du tableau.
Definition Span.h:209
constexpr view_type smallView()
Vue constante sur cette vue.
Definition Span.h:270
Vue d'un tableau d'éléments de type T.
Definition Span.h:510
Espace de nom de Arccore.
Definition ArcaneTypes.h:24
ARCCORE_SERIALIZE_EXPORT Ref< ISerializer > createSerializer()
Créé une instance de ISerializer.
@ Int128
Donnée de type entier 128 bits.
@ Float128
Donnée de type Float128.
std::int64_t Int64
Type entier signé sur 64 bits.