12#ifndef ARCANE_CORE_INTERNAL_IDATAINTERNAL_H
13#define ARCANE_CORE_INTERNAL_IDATAINTERNAL_H
19#include "arcane/utils/UniqueArray.h"
20#include "arcane/utils/IHashAlgorithm.h"
28class INumericDataInternal;
40 Int64 m_original_dim1_size = 0;
41 Int64 m_original_dim2_size = 0;
61 Int32 version()
const {
return m_version; }
62 void setVersion(Int32 v) { m_version = v; }
179template <
class DataType>
210template <
class DataType>
240namespace Arcane::impl
248extern "C++" ARCANE_CORE_EXPORT
void
249copyContiguousData(INumericDataInternal* destination, ConstMemoryView source, RunQueue& queue);
257extern "C++" ARCANE_CORE_EXPORT
void
258copyContiguousData(IData* destination, IData* source, RunQueue& queue);
260extern "C++" ARCANE_CORE_EXPORT
void
261fillContiguousDataGeneric(IData* data,
const void* fill_address,
262 Int32 datatype_size, RunQueue& queue);
264template <
typename DataType>
inline void
265fillContiguousData(IData* data,
const DataType& value, RunQueue& queue)
267 constexpr Int32 type_size =
static_cast<Int32>(
sizeof(DataType));
268 fillContiguousDataGeneric(data, &value, type_size, queue);
Déclarations des types généraux de Arcane.
Classe pour gérer la compression/décompression des données.
Informations pour le calcul du hash d'une donnée.
Interface d'une donnée tableau bi-dimensionnel d'un type T.
virtual Array2< DataType > & _internalDeprecatedValue()=0
Conteneur associé à la donnée.
virtual void resize(Int32 new_dim1_size, Int32 new_dim2_size)=0
Redimensionne le conteneur.
virtual void resizeOnlyDim1(Int32 new_dim1_size)=0
Redimensionne le conteneur.
virtual void shrink() const =0
Libère la mémoire additionnelle éventuellement allouée.
virtual void reserve(Integer new_capacity)=0
Réserve de la mémoire pour new_capacity éléments.
Interface d'une donnée tableau d'un type T.
virtual Integer capacity() const =0
Capacité allouée par le conteneur.
virtual void reserve(Integer new_capacity)=0
Réserve de la mémoire pour new_capacity éléments.
virtual Array< DataType > & _internalDeprecatedValue()=0
Conteneur associé à la donnée.
virtual void shrink() const =0
Libère la mémoire additionnelle éventuellement allouée.
virtual void dispose()=0
Vide le conteneur et libère la mémoire alloué.
virtual void resize(Integer new_size)=0
Redimensionne le conteneur.
Interface d'un service permettant de compresser/décompresser des données.
virtual void computeHash(DataHashInfo &hash_info)=0
Calcule le hash de la donnée.
virtual bool decompressAndFill(DataCompressionBuffer &buf)
Décompresse les données et remplit les valeurs de la donnée.
virtual bool compressAndClear(DataCompressionBuffer &buf)
Compresse les données et libère la mémoire associée.
virtual INumericDataInternal * numericData()
Interface générique pour les données numériques (nullptr si la donnée n'est pas numérique)
Contexte pour calculer un hash de manière incrémentale.
Interface pour un 'IData' d'un type numérique.
virtual void changeAllocator(const MemoryAllocationOptions &alloc_info)=0
Change l'allocateur de la variable.
virtual Int32 extent0() const =0
Nombre d'éléments de la première dimension.
virtual MutableMemoryView memoryView()=0
Vue mémoire sur la donnée.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Options pour configurer les allocations.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-