12#ifndef ARCCORE_COLLECTIONS_COLLECTIONSGLOBAL_H
13#define ARCCORE_COLLECTIONS_COLLECTIONSGLOBAL_H
17#include "arccore/base/ArccoreGlobal.h"
24#if defined(ARCCORE_COMPONENT_arccore_collections)
25#define ARCCORE_COLLECTIONS_EXPORT ARCCORE_EXPORT
26#define ARCCORE_COLLECTIONS_EXTERN_TPL
28#define ARCCORE_COLLECTIONS_EXPORT ARCCORE_IMPORT
29#define ARCCORE_COLLECTIONS_EXTERN_TPL extern
37class IMemoryAllocator;
38class PrintableMemoryAllocator;
39class AlignedMemoryAllocator;
40class DefaultMemoryAllocator;
43class MemoryAllocationArgs;
44class MemoryAllocationOptions;
46template<
typename DataType>
class ArrayTraits;
47template<
typename DataType>
class ArrayImplT;
48template<
typename DataType>
class Array;
49template<
typename DataType>
class AbstractArray;
50template<
typename DataType>
class UniqueArray;
51template<
typename DataType>
class SharedArray;
52template<
typename DataType>
class Array2;
53template<
typename DataType>
class UniqueArray2;
54template<
typename DataType>
class SharedArray2;
58using IMemoryAllocator3 = IMemoryAllocator;
59using AlignedMemoryAllocator3 = AlignedMemoryAllocator;
60using DefaultMemoryAllocator3 = DefaultMemoryAllocator;
116extern "C++" ARCCORE_COLLECTIONS_EXPORT std::ostream&
140static constexpr int ARCCORE_NB_MEMORY_RESOURCE = 5;
145extern "C++" ARCCORE_COLLECTIONS_EXPORT std::ostream&
159 : m_base_address(base_address)
162 : m_base_address(base_address)
167 : m_base_address(base_address)
181 void* m_base_address =
nullptr;
183 Int64 m_capacity = -1;
File d'exécution pour un accélérateur.
Classe abstraite de base d'un vecteur.
Allocateur mémoire avec alignement mémoire spécifique.
Informations sur une zone mémoire allouée.
Int64 capacity() const
Taille en octets de la zone mémoire allouée. (-1) si inconnue.
Int64 size() const
Taille en octets de la zone mémoire utilisée. (-1) si inconnue.
void * baseAddress() const
Adresse du début de la zone allouée.
Classe représentant un tableau 2D classique.
Caractéristiques pour un tableau.
Classe de base des vecteurs 1D de données.
Allocateur mémoire via malloc/realloc/free.
Interface d'un allocateur pour la mémoire.
Classe contenant des informations pour spécialiser les allocations.
Options pour configurer les allocations.
Allocateur mémoire via malloc/realloc/free avec impression listing.
Vecteur de données 2D partagées avec sémantique par référence.
Vecteur 1D de données avec sémantique par référence.
Vecteur de données 2D avec sémantique par valeur (style STL).
Vecteur 1D de données avec sémantique par valeur (style STL).
Espace de nom pour l'utilisation des accélérateurs.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Espace de nom de Arccore.
eHostDeviceMemoryLocation
Localisation physique d'une adresse mémoire.
@ ManagedMemoryDevice
La mémoire est de la mémoire managée sur accélérateur.
@ Host
La mémoire est sur l'hôte.
@ ManagedMemoryHost
La mémoire est de la mémoire managée sur l'hôte.
@ Device
La mémoire est sur accélérateur.
eMemoryLocationHint
Indices sur la localisation mémoire attendue.
@ MainlyHost
Indique que la donnée sera plutôt utilisée sur CPU.
@ HostAndDeviceMostlyRead
Indique que la donnée sera utilisée à la fois sur accélérateur et sur CPU et qu'elle ne sera pas souv...
@ MainlyDevice
Indique que la donnée sera plutôt utilisée sur accélérateur.
@ Unknown
Donnée de type inconnu ou non initialisé
std::int64_t Int64
Type entier signé sur 64 bits.
eMemoryResource
Liste des ressources mémoire disponibles.
@ HostPinned
Alloue sur l'hôte.
@ UnifiedMemory
Alloue en utilisant la mémoire unifiée.