Arcane  v4.1.2.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::impl::SpecificMemoryCopyList< Traits >

Liste d'instances de ISpecificMemoryCopy spécialisées. Plus de détails...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/common/arccore/common/internal/SpecificMemoryCopyList.h>

+ Graphe d'héritage de Arcane::impl::SpecificMemoryCopyList< Traits >:
+ Graphe de collaboration de Arcane::impl::SpecificMemoryCopyList< Traits >:

Types publics

using InterfaceType = typename Traits::InterfaceType
 
template<typename DataType, typename Extent>
using SpecificType = typename Traits::template SpecificType<DataType, Extent>
 
using RefType = typename Traits::RefType
 

Fonctions membres publiques

template<typename CopierType>
void addCopier ()
 Ajoute un copieur spécifique.
 
void printStats ()
 
void checkValid ()
 
void copyTo (Int32 datatype_size, const IndexedMemoryCopyArgs &args) override
 
void copyTo (Int32 datatype_size, const IndexedMultiMemoryCopyArgs &args) override
 
void copyFrom (Int32 datatype_size, const IndexedMemoryCopyArgs &args) override
 
void copyFrom (Int32 datatype_size, const IndexedMultiMemoryCopyArgs &args) override
 
void fill (Int32 datatype_size, const IndexedMemoryCopyArgs &args) override
 
void fill (Int32 datatype_size, const IndexedMultiMemoryCopyArgs &args) override
 

Attributs publics statiques

static constexpr Int32 NB_COPIER = 128
 

Fonctions membres privées

RefType _copier (Int32 v)
 

Attributs privés

std::array< InterfaceType *, NB_COPIER > m_copier
 
std::atomic< Int32m_nb_specialized = 0
 
std::atomic< Int32m_nb_generic = 0
 
std::vector< ISpecificMemoryCopy * > m_dynamic_copier_list
 Liste des copieurs qu'il faudra supprimer via 'delete'.
 

Description détaillée

template<typename Traits>
class Arcane::impl::SpecificMemoryCopyList< Traits >

Liste d'instances de ISpecificMemoryCopy spécialisées.

Cette classe contient des instances de ISpecificMemoryCopy spécialisées pour une taille et un type de données. Cela permet au compilateur de connaitre précisément la taille d'un type de donnée et ainsi de mieux optimiser les boucles sans avoir besoin que toutes ces méthodes soient templates et inline pour le développeur.

Définition à la ligne 153 du fichier SpecificMemoryCopyList.h.

Documentation des définitions de type membres

◆ InterfaceType

template<typename Traits>
using Arcane::impl::SpecificMemoryCopyList< Traits >::InterfaceType = typename Traits::InterfaceType

Définition à la ligne 158 du fichier SpecificMemoryCopyList.h.

◆ RefType

template<typename Traits>
using Arcane::impl::SpecificMemoryCopyList< Traits >::RefType = typename Traits::RefType

Définition à la ligne 160 du fichier SpecificMemoryCopyList.h.

◆ SpecificType

template<typename Traits>
template<typename DataType, typename Extent>
using Arcane::impl::SpecificMemoryCopyList< Traits >::SpecificType = typename Traits::template SpecificType<DataType, Extent>

Définition à la ligne 159 du fichier SpecificMemoryCopyList.h.

Documentation des constructeurs et destructeur

◆ SpecificMemoryCopyList()

template<typename Traits>
Arcane::impl::SpecificMemoryCopyList< Traits >::SpecificMemoryCopyList ( )
inline

Définition à la ligne 168 du fichier SpecificMemoryCopyList.h.

◆ ~SpecificMemoryCopyList()

template<typename Traits>
Arcane::impl::SpecificMemoryCopyList< Traits >::~SpecificMemoryCopyList ( )
inline

Définition à la ligne 173 du fichier SpecificMemoryCopyList.h.

Documentation des fonctions membres

◆ _copier()

template<typename Traits>
RefType Arcane::impl::SpecificMemoryCopyList< Traits >::_copier ( Int32 v)
inlineprivate

Définition à la ligne 210 du fichier SpecificMemoryCopyList.h.

◆ addCopier()

template<typename Traits>
template<typename CopierType>
void Arcane::impl::SpecificMemoryCopyList< Traits >::addCopier ( )
inline

Ajoute un copieur spécifique.

Définition à la ligne 183 du fichier SpecificMemoryCopyList.h.

Références m_dynamic_copier_list.

◆ checkValid()

template<typename Traits>
void Arcane::impl::SpecificMemoryCopyList< Traits >::checkValid ( )
inline

Définition à la ligne 198 du fichier SpecificMemoryCopyList.h.

◆ copyFrom() [1/2]

template<typename Traits>
void Arcane::impl::SpecificMemoryCopyList< Traits >::copyFrom ( Int32 datatype_size,
const IndexedMemoryCopyArgs & args )
inlineoverridevirtual

Implémente Arcane::impl::ISpecificMemoryCopyList.

Définition à la ligne 240 du fichier SpecificMemoryCopyList.h.

◆ copyFrom() [2/2]

template<typename Traits>
void Arcane::impl::SpecificMemoryCopyList< Traits >::copyFrom ( Int32 datatype_size,
const IndexedMultiMemoryCopyArgs & args )
inlineoverridevirtual

Implémente Arcane::impl::ISpecificMemoryCopyList.

Définition à la ligne 245 du fichier SpecificMemoryCopyList.h.

◆ copyTo() [1/2]

template<typename Traits>
void Arcane::impl::SpecificMemoryCopyList< Traits >::copyTo ( Int32 datatype_size,
const IndexedMemoryCopyArgs & args )
inlineoverridevirtual

Implémente Arcane::impl::ISpecificMemoryCopyList.

Définition à la ligne 230 du fichier SpecificMemoryCopyList.h.

◆ copyTo() [2/2]

template<typename Traits>
void Arcane::impl::SpecificMemoryCopyList< Traits >::copyTo ( Int32 datatype_size,
const IndexedMultiMemoryCopyArgs & args )
inlineoverridevirtual

Implémente Arcane::impl::ISpecificMemoryCopyList.

Définition à la ligne 235 du fichier SpecificMemoryCopyList.h.

◆ fill() [1/2]

template<typename Traits>
void Arcane::impl::SpecificMemoryCopyList< Traits >::fill ( Int32 datatype_size,
const IndexedMemoryCopyArgs & args )
inlineoverridevirtual

Implémente Arcane::impl::ISpecificMemoryCopyList.

Définition à la ligne 250 du fichier SpecificMemoryCopyList.h.

◆ fill() [2/2]

template<typename Traits>
void Arcane::impl::SpecificMemoryCopyList< Traits >::fill ( Int32 datatype_size,
const IndexedMultiMemoryCopyArgs & args )
inlineoverridevirtual

Implémente Arcane::impl::ISpecificMemoryCopyList.

Définition à la ligne 255 du fichier SpecificMemoryCopyList.h.

◆ printStats()

template<typename Traits>
void Arcane::impl::SpecificMemoryCopyList< Traits >::printStats ( )
inline

Définition à la ligne 192 du fichier SpecificMemoryCopyList.h.

Documentation des données membres

◆ m_copier

template<typename Traits>
std::array<InterfaceType*, NB_COPIER> Arcane::impl::SpecificMemoryCopyList< Traits >::m_copier
private

Définition à la ligne 263 du fichier SpecificMemoryCopyList.h.

◆ m_dynamic_copier_list

template<typename Traits>
std::vector<ISpecificMemoryCopy*> Arcane::impl::SpecificMemoryCopyList< Traits >::m_dynamic_copier_list
private

Liste des copieurs qu'il faudra supprimer via 'delete'.

Définition à la ligne 267 du fichier SpecificMemoryCopyList.h.

Référencé par addCopier().

◆ m_nb_generic

template<typename Traits>
std::atomic<Int32> Arcane::impl::SpecificMemoryCopyList< Traits >::m_nb_generic = 0
private

Définition à la ligne 265 du fichier SpecificMemoryCopyList.h.

◆ m_nb_specialized

template<typename Traits>
std::atomic<Int32> Arcane::impl::SpecificMemoryCopyList< Traits >::m_nb_specialized = 0
private

Définition à la ligne 264 du fichier SpecificMemoryCopyList.h.

◆ NB_COPIER

template<typename Traits>
Int32 Arcane::impl::SpecificMemoryCopyList< Traits >::NB_COPIER = 128
staticconstexpr

Définition à la ligne 164 du fichier SpecificMemoryCopyList.h.


La documentation de cette classe a été générée à partir du fichier suivant :