Arcane  v3.15.0.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 87 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 90 du fichier SmallArray.h.

◆ ConstReferenceType

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

Définition à la ligne 285 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 102 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 109 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 116 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 123 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 129 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 135 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 141 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 148 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 154 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 159 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 166 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 202 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 172 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 178 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 190 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 196 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 184 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 220 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 219 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 97 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 92 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 91 du fichier SmallArray.h.


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