Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::SmallArray< T, NbElement >final

Tableau 1D de données avec buffer pré-alloué sur la pile. Plus de détails...

+ Graphe d'héritage de Arcane::SmallArray< T, NbElement >:
+ Graphe de collaboration de Arcane::SmallArray< T, NbElement >:

Types publics

typedef ArrayTraits< T >::ConstReferenceType ConstReferenceType
 

Fonctions membres publiques

 SmallArray ()
 Créé un tableau vide.
 
 SmallArray (Int64 req_size, ConstReferenceType value)
 Créé un tableau de size éléments contenant la valeur value.
 
 SmallArray (Int64 asize)
 Créé un tableau de asize éléments contenant la valeur par défaut du type T()
 
 SmallArray (Int32 asize)
 Créé un tableau de asize éléments contenant la valeur par défaut du type T()
 
 SmallArray (size_t asize)
 Créé un tableau de asize éléments contenant la valeur par défaut du type T()
 
 SmallArray (const ConstArrayView< T > &aview)
 Créé un tableau en recopiant les valeurs de la value aview.
 
 SmallArray (const Span< const T > &aview)
 Créé un tableau en recopiant les valeurs de la value aview.
 
 SmallArray (const ArrayView< T > &aview)
 Créé un tableau en recopiant les valeurs de la value aview.
 
 SmallArray (const Span< T > &aview)
 Créé un tableau en recopiant les valeurs de la value aview.
 
 SmallArray (std::initializer_list< T > alist)
 
 SmallArray (const Array< T > &rhs)
 Créé un tableau en recopiant les valeurs rhs.
 
void operator= (const Array< T > &rhs)
 Copie les valeurs de rhs dans cette instance.
 
void operator= (const ArrayView< T > &rhs)
 Copie les valeurs de la vue rhs dans cette instance.
 
void operator= (const Span< T > &rhs)
 Copie les valeurs de la vue rhs dans cette instance.
 
void operator= (const ConstArrayView< T > &rhs)
 Copie les valeurs de la vue rhs dans cette instance.
 
void operator= (const Span< const T > &rhs)
 Copie les valeurs de la vue rhs dans cette instance.
 
 ~SmallArray () override
 Détruit l'instance.
 
template<Int32 N>
 SmallArray (SmallArray< T, N > &&rhs)=delete
 
template<Int32 N>
SmallArray< T, NbElementoperator= (SmallArray< T, N > &&rhs)=delete
 
- Fonctions membres publiques hérités de Arcane::Array< T >
 Array (const Group &group)
 
void fill (const T &data)
 Remplissage du tableau.
 
T & operator[] (const T &item)
 Accesseur.
 
Arcane::UniqueArray< T >::ConstReferenceType operator[] (const T &item) const
 

Attributs publics statiques

static constexpr Int32 MemorySize = NbElement * SizeOfType
 

Types privés

using BaseClassType = AbstractArray< T >
 

Attributs privés

char m_stack_buffer [MemorySize]
 
impl::StackMemoryAllocator m_stack_allocator
 

Attributs privés statiques

static constexpr Int32 SizeOfType = static_cast<Int32>(sizeof(T))
 
static constexpr Int32 nb_element_in_buf = NbElement
 

Description détaillée

template<typename T, Int32 NbElement = 32>
class Arcane::SmallArray< T, NbElement >

Tableau 1D de données avec buffer pré-alloué sur la pile.

Cette classe s'utilise comme UniqueArray mais contient un buffer de taille fixe pour conserver NbElement éléments qui est utilisé si le tableau contient au plus NbElement éléments. Cela permet d'éviter des allocations dynamiques lorsque le nombre d'éléments est faible.

Si le tableau doit contenir plus de NbElement éléments, alors on utilise une allocation dynamique standard.

Définition à la ligne 90 du fichier SmallArray.h.

Documentation des définitions de type membres

◆ BaseClassType

template<typename T , Int32 NbElement = 32>
using Arcane::SmallArray< T, NbElement >::BaseClassType = AbstractArray<T>
private

Définition à la ligne 93 du fichier SmallArray.h.

◆ ConstReferenceType

template<typename T , Int32 NbElement = 32>
typedef ArrayTraits<T>::ConstReferenceType Arccore::AbstractArray< T >::ConstReferenceType

Définition à la ligne 283 du fichier arccore/src/collections/arccore/collections/Array.h.

Documentation des constructeurs et destructeur

◆ SmallArray() [1/11]

template<typename T , Int32 NbElement = 32>
Arcane::SmallArray< T, NbElement >::SmallArray ( )
inline

Créé un tableau vide.

Définition à la ligne 105 du fichier SmallArray.h.

◆ SmallArray() [2/11]

template<typename T , Int32 NbElement = 32>
Arcane::SmallArray< T, NbElement >::SmallArray ( Int64  req_size,
ConstReferenceType  value 
)
inline

Créé un tableau de size éléments contenant la valeur value.

Définition à la ligne 112 du fichier SmallArray.h.

◆ SmallArray() [3/11]

template<typename T , Int32 NbElement = 32>
Arcane::SmallArray< T, NbElement >::SmallArray ( Int64  asize)
inlineexplicit

Créé un tableau de asize éléments contenant la valeur par défaut du type T()

Définition à la ligne 119 du fichier SmallArray.h.

◆ SmallArray() [4/11]

template<typename T , Int32 NbElement = 32>
Arcane::SmallArray< T, NbElement >::SmallArray ( Int32  asize)
inlineexplicit

Créé un tableau de asize éléments contenant la valeur par défaut du type T()

Définition à la ligne 126 du fichier SmallArray.h.

◆ SmallArray() [5/11]

template<typename T , Int32 NbElement = 32>
Arcane::SmallArray< T, NbElement >::SmallArray ( size_t  asize)
inlineexplicit

Créé un tableau de asize éléments contenant la valeur par défaut du type T()

Définition à la ligne 132 du fichier SmallArray.h.

◆ SmallArray() [6/11]

template<typename T , Int32 NbElement = 32>
Arcane::SmallArray< T, NbElement >::SmallArray ( const ConstArrayView< T > &  aview)
inline

Créé un tableau en recopiant les valeurs de la value aview.

Définition à la ligne 138 du fichier SmallArray.h.

◆ SmallArray() [7/11]

template<typename T , Int32 NbElement = 32>
Arcane::SmallArray< T, NbElement >::SmallArray ( const Span< const T > &  aview)
inline

Créé un tableau en recopiant les valeurs de la value aview.

Définition à la ligne 144 du fichier SmallArray.h.

◆ SmallArray() [8/11]

template<typename T , Int32 NbElement = 32>
Arcane::SmallArray< T, NbElement >::SmallArray ( const ArrayView< T > &  aview)
inline

Créé un tableau en recopiant les valeurs de la value aview.

Définition à la ligne 151 du fichier SmallArray.h.

◆ SmallArray() [9/11]

template<typename T , Int32 NbElement = 32>
Arcane::SmallArray< T, NbElement >::SmallArray ( const Span< T > &  aview)
inline

Créé un tableau en recopiant les valeurs de la value aview.

Définition à la ligne 157 du fichier SmallArray.h.

◆ SmallArray() [10/11]

template<typename T , Int32 NbElement = 32>
Arcane::SmallArray< T, NbElement >::SmallArray ( std::initializer_list< T >  alist)
inline

Définition à la ligne 162 du fichier SmallArray.h.

◆ SmallArray() [11/11]

template<typename T , Int32 NbElement = 32>
Arcane::SmallArray< T, NbElement >::SmallArray ( const Array< T > &  rhs)
inline

Créé un tableau en recopiant les valeurs rhs.

Définition à la ligne 169 du fichier SmallArray.h.

◆ ~SmallArray()

template<typename T , Int32 NbElement = 32>
Arcane::SmallArray< T, NbElement >::~SmallArray ( )
inlineoverride

Détruit l'instance.

Définition à la ligne 205 du fichier SmallArray.h.

Documentation des fonctions membres

◆ operator=() [1/5]

template<typename T , Int32 NbElement = 32>
void Arcane::SmallArray< T, NbElement >::operator= ( const Array< T > &  rhs)
inline

Copie les valeurs de rhs dans cette instance.

Définition à la ligne 175 du fichier SmallArray.h.

◆ operator=() [2/5]

template<typename T , Int32 NbElement = 32>
void Arcane::SmallArray< T, NbElement >::operator= ( const ArrayView< T > &  rhs)
inline

Copie les valeurs de la vue rhs dans cette instance.

Définition à la ligne 181 du fichier SmallArray.h.

◆ operator=() [3/5]

template<typename T , Int32 NbElement = 32>
void Arcane::SmallArray< T, NbElement >::operator= ( const ConstArrayView< T > &  rhs)
inline

Copie les valeurs de la vue rhs dans cette instance.

Définition à la ligne 193 du fichier SmallArray.h.

◆ operator=() [4/5]

template<typename T , Int32 NbElement = 32>
void Arcane::SmallArray< T, NbElement >::operator= ( const Span< const T > &  rhs)
inline

Copie les valeurs de la vue rhs dans cette instance.

Définition à la ligne 199 du fichier SmallArray.h.

◆ operator=() [5/5]

template<typename T , Int32 NbElement = 32>
void Arcane::SmallArray< T, NbElement >::operator= ( const Span< T > &  rhs)
inline

Copie les valeurs de la vue rhs dans cette instance.

Définition à la ligne 187 du fichier SmallArray.h.

Documentation des données membres

◆ m_stack_allocator

template<typename T , Int32 NbElement = 32>
impl::StackMemoryAllocator Arcane::SmallArray< T, NbElement >::m_stack_allocator
private

Définition à la ligne 223 du fichier SmallArray.h.

◆ m_stack_buffer

template<typename T , Int32 NbElement = 32>
char Arcane::SmallArray< T, NbElement >::m_stack_buffer[MemorySize]
private

Définition à la ligne 222 du fichier SmallArray.h.

◆ MemorySize

template<typename T , Int32 NbElement = 32>
constexpr Int32 Arcane::SmallArray< T, NbElement >::MemorySize = NbElement * SizeOfType
staticconstexpr

Définition à la ligne 100 du fichier SmallArray.h.

◆ nb_element_in_buf

template<typename T , Int32 NbElement = 32>
constexpr Int32 Arcane::SmallArray< T, NbElement >::nb_element_in_buf = NbElement
staticconstexprprivate

Définition à la ligne 95 du fichier SmallArray.h.

◆ SizeOfType

template<typename T , Int32 NbElement = 32>
constexpr Int32 Arcane::SmallArray< T, NbElement >::SizeOfType = static_cast<Int32>(sizeof(T))
staticconstexprprivate

Définition à la ligne 94 du fichier SmallArray.h.


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