Arcane  v4.1.1.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 ()
 
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 209 du fichier SpecificMemoryCopyList.h.

◆ addCopier()

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

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

◆ checkValid()

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

Définition à la ligne 197 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 239 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 244 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 229 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 234 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 249 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 254 du fichier SpecificMemoryCopyList.h.

◆ printStats()

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

Définition à la ligne 191 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 262 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 266 du fichier SpecificMemoryCopyList.h.

◆ m_nb_generic

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

Définition à la ligne 264 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 263 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 :