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"
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; }
184template <
class DataType>
215template <
class DataType>
245namespace Arcane::impl
253extern "C++" ARCANE_CORE_EXPORT
void
254copyContiguousData(INumericDataInternal* destination, ConstMemoryView source, RunQueue& queue);
262extern "C++" ARCANE_CORE_EXPORT
void
263copyContiguousData(IData* destination, IData* source, RunQueue& queue);
265extern "C++" ARCANE_CORE_EXPORT
void
266fillContiguousDataGeneric(IData* data,
const void* fill_address,
267 Int32 datatype_size, RunQueue& queue);
269template <
typename DataType>
inline void
270fillContiguousData(IData* data,
const DataType& value, RunQueue& queue)
272 constexpr Int32 type_size =
static_cast<Int32
>(
sizeof(DataType));
273 fillContiguousDataGeneric(data, &value, type_size, queue);
Déclarations des types généraux de Arcane.
Tableau 2D d'items de types quelconques.
Tableau d'items de types quelconques.
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 d'un allocateur pour la mémoire.
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 IMemoryAllocator * memoryAllocator() const =0
Allocateur utilisé pour la donnée.
virtual MutableMemoryView memoryView()=0
Vue mémoire sur la donnée.
Options pour configurer les allocations.
Vue modifiable sur une zone mémoire contigue contenant des éléments de taille fixe.
Vecteur 1D de données avec sémantique par valeur (style STL).
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
std::int64_t Int64
Type entier signé sur 64 bits.
Int32 Integer
Type représentant un entier.
std::int32_t Int32
Type entier signé sur 32 bits.