Arcane  v3.16.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-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/* SerializeGlobal.cc (C) 2000-2025 */
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
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
31{
32 put(values);
33}
34
37{
38 put(values);
39}
40
43{
44 put(values);
45}
46
49{
50 put(values);
51}
52
55{
56 put(values);
57}
58
59/*---------------------------------------------------------------------------*/
60/*---------------------------------------------------------------------------*/
61
64{
65 reserveSpan(DT_Real, values.size());
66}
67
73
79
85
88{
89 reserveSpan(DT_Byte, values.size());
90}
91
94{
95 reserveSpan(DT_Int8, values.size());
96}
97
103
109
112{
113 reserveSpan(DT_Float32, values.size());
114}
115
121
127
128/*---------------------------------------------------------------------------*/
129/*---------------------------------------------------------------------------*/
130
132getSpan(Span<Real> values)
133{
134 get(values.smallView());
135}
136
138getSpan(Span<Int16> values)
139{
140 get(values.smallView());
141}
142
144getSpan(Span<Int32> values)
145{
146 get(values.smallView());
147}
148
150getSpan(Span<Int64> values)
151{
152 get(values.smallView());
153}
154
156getSpan(Span<Byte> values)
157{
158 get(values.smallView());
159}
160
161/*---------------------------------------------------------------------------*/
162/*---------------------------------------------------------------------------*/
163
165reserve(int dt, Int64 n)
166{
167 reserve(static_cast<eDataType>(dt), n);
168}
169
170/*---------------------------------------------------------------------------*/
171/*---------------------------------------------------------------------------*/
172
174reserveSpan(int dt, Int64 n)
175{
176 reserveSpan(static_cast<eDataType>(dt), n);
177}
178
179/*---------------------------------------------------------------------------*/
180/*---------------------------------------------------------------------------*/
181
184{
185 auto* x = new BasicSerializer();
186 return makeRef<ISerializer>(x);
187}
188
189/*---------------------------------------------------------------------------*/
190/*---------------------------------------------------------------------------*/
191
192} // 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 reserve(eBasicDataType 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.
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 get(ArrayView< Real > values)=0
Récupère le tableau values.
virtual void reserveSpan(eBasicDataType dt, Int64 n)=0
Réserve de la mémoire pour n valeurs de dt.
virtual void reserveSpan(Span< const Int128 > values)
Réserve pour une vue de values éléments.
Référence à une instance.
constexpr view_type smallView()
Vue constante sur cette vue.
Definition Span.h:273
constexpr __host__ __device__ SizeType size() const noexcept
Retourne la taille du tableau.
Definition Span.h:212
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 -*-
std::int64_t Int64
Type entier signé sur 64 bits.
ARCCORE_SERIALIZE_EXPORT Ref< ISerializer > createSerializer()
Créé une instance de ISerializer.
auto makeRef(InstanceType *t) -> Ref< InstanceType >
Créé une référence sur un pointeur.