CTypedPtrArray, classe
Fournit un « wrapper » de type sécurisé pour les objets de la classe CPtrArray
ou CObArray
.
Syntaxe
template<class BASE_CLASS, class TYPE>
class CTypedPtrArray : public BASE_CLASS
Paramètres
BASE_CLASS
Classe de base de la classe de tableau de pointeurs typé ; doit être une classe array ( CObArray
ou CPtrArray
).
TYPE
Type des éléments stockés dans le tableau de classes de base.
Membres
Méthodes publiques
Nom | Description |
---|---|
CTypedPtrArray ::Add | Ajoute un nouvel élément à la fin d’un tableau. Augmente le tableau si nécessaire |
CTypedPtrArray ::Append | Ajoute le contenu d’un tableau à la fin d’un autre. Augmente le tableau si nécessaire |
CTypedPtrArray ::Copy | Copie un autre tableau dans le tableau ; étend le tableau si nécessaire. |
CTypedPtrArray ::ElementAt | Retourne une référence temporaire au pointeur d'élément dans le tableau. |
CTypedPtrArray ::GetAt | Retourne la valeur à un index donné. |
CTypedPtrArray ::InsertAt | Insère un élément (ou tous les éléments d'un autre tableau) à un index spécifique. |
CTypedPtrArray ::SetAt | Définit la valeur d'un index donné. Le tableau n'est pas autorisé à s'étendre. |
CTypedPtrArray ::SetAtGrow | Définit la valeur d'un index donné. Le tableau est étendu si nécessaire. |
Opérateurs publics
Nom | Description |
---|---|
CTypedPtrArray ::operator [ ] | Définit ou obtient l'élément au niveau de l'index spécifié. |
Notes
Lorsque vous utilisez CTypedPtrArray
plutôt que CPtrArray
ou CObArray
, la fonctionnalité de vérification de type C++ permet d’éliminer les erreurs provoquées par des types pointeurs incompatibles.
En outre, le CTypedPtrArray
wrapper effectue une grande partie du cast qui serait nécessaire si vous avez utilisé CObArray
ou CPtrArray
.
Étant donné que toutes les CTypedPtrArray
fonctions sont inline, l’utilisation de ce modèle n’affecte pas considérablement la taille ou la vitesse de votre code.
Pour plus d’informations sur l’utilisation CTypedPtrArray
, consultez les articles Collections et classes basées sur des modèles.
Hiérarchie d'héritage
BASE_CLASS
CTypedPtrArray
Spécifications
En-tête : afxtempl.h
CTypedPtrArray ::Add
Cette fonction membre appelle BASE_CLASS
::Add.
INT_PTR Add(TYPE newElement);
Paramètres
TYPE
Paramètre de modèle spécifiant le type d’élément à ajouter au tableau.
newElement
Élément à ajouter à ce tableau.
Valeur de retour
Index de l’élément ajouté.
Notes
Pour obtenir des remarques plus détaillées, consultez CObArray ::Add.
CTypedPtrArray ::Append
Cette fonction membre appelle BASE_CLASS
::Append**.
INT_PTR Append(const CTypedPtrArray<BASE_CLASS, TYPE>& src);
Paramètres
BASE_CLASS
Classe de base de la classe de tableau de pointeurs typé ; doit être une classe array ( CObArray ou CPtrArray).
TYPE
Type des éléments stockés dans le tableau de classes de base.
src
Source des éléments à ajouter à un tableau.
Valeur de retour
Index du premier élément ajouté.
Notes
Pour obtenir des remarques plus détaillées, consultez CObArray ::Append.
CTypedPtrArray ::Copy
Cette fonction membre appelle BASE_CLASS
::Copy.
void Copy(const CTypedPtrArray<BASE_CLASS, TYPE>& src);
Paramètres
BASE_CLASS
Classe de base de la classe de tableau de pointeurs typé ; doit être une classe array ( CObArray ou CPtrArray).
TYPE
Type des éléments stockés dans le tableau de classes de base.
src
Source des éléments à copier dans un tableau.
Notes
Pour obtenir des remarques plus détaillées, consultez CObArray ::Copy.
CTypedPtrArray ::ElementAt
Cette fonction inline appelle BASE_CLASS
::ElementAt.
TYPE& ElementAt(INT_PTR nIndex);
Paramètres
TYPE
Paramètre de modèle spécifiant le type d’éléments stockés dans ce tableau.
nIndex
Index entier supérieur ou égal à 0 et inférieur ou égal à la valeur retournée par BASE_CLASS
::GetUpperBound.
Valeur de retour
Référence temporaire à l’élément à l’emplacement spécifié par nIndex. Cet élément est du type spécifié par le paramètre de modèle TYPE.
Notes
Pour obtenir des remarques plus détaillées, consultez CObArray ::ElementAt.
CTypedPtrArray ::GetAt
Cette fonction inline appelle BASE_CLASS
::GetAt.
TYPE GetAt(INT_PTR nIndex) const;
Paramètres
TYPE
Paramètre de modèle spécifiant le type d’éléments stockés dans le tableau.
nIndex
Index entier supérieur ou égal à 0 et inférieur ou égal à la valeur retournée par BASE_CLASS
::GetUpperBound.
Valeur de retour
Copie de l’élément à l’emplacement spécifié par nIndex. Cet élément est du type spécifié par le paramètre de modèle TYPE.
Notes
Pour obtenir des remarques plus détaillées, consultez CObArray ::GetAt
CTypedPtrArray ::InsertAt
Cette fonction membre appelle BASE_CLASS
::InsertAt.
void InsertAt(
INT_PTR nIndex,
TYPE newElement,
INT_PTR nCount = 1);
void InsertAt(
INT_PTR nStartIndex,
CTypedPtrArray<BASE_CLASS, TYPE>* pNewArray);
Paramètres
nIndex
Index entier qui peut être supérieur à la valeur retournée par CObArray ::GetUpperBound.
TYPE
Type des éléments stockés dans le tableau de classes de base.
newElement
Pointeur d’objet à placer dans ce tableau. Un nouvel élément de valeur NULL est autorisé.
nCount
Nombre de fois où cet élément doit être inséré (valeur par défaut : 1).
nStartIndex
Index entier qui peut être supérieur à la valeur retournée par CObArray::GetUpperBound
.
BASE_CLASS
Classe de base de la classe de tableau de pointeurs typé ; doit être une classe array ( CObArray ou CPtrArray).
pNewArray
Autre tableau qui contient des éléments à ajouter à ce tableau.
Notes
Pour obtenir des remarques plus détaillées, consultez CObArray ::InsertAt.
CTypedPtrArray ::operator [ ]
Ces opérateurs inline appellent BASE_CLASS
::operator [ ].
TYPE& operator[ ](int_ptr nindex);
TYPE operator[ ](int_ptr nindex) const;
Paramètres
TYPE
Paramètre de modèle spécifiant le type d’éléments stockés dans le tableau.
nIndex
Index entier supérieur ou égal à 0 et inférieur ou égal à la valeur retournée par BASE_CLASS
::GetUpperBound.
Notes
Le premier opérateur, appelé pour les tableaux qui ne sont pas const
, peut être utilisé à droite (r-value) ou à gauche (l-value) d’une instruction d’affectation. Le deuxième, appelé pour const
les tableaux, ne peut être utilisé qu’à droite.
La version de débogage de la bibliothèque affirme si l’indice (à gauche ou à droite d’une instruction d’affectation) est hors limites.
CTypedPtrArray ::SetAt
Cette fonction membre appelle BASE_CLASS
::SetAt.
void SetAt(
INT_PTR nIndex,
TYPE ptr);
Paramètres
nIndex
Index entier supérieur ou égal à 0 et inférieur ou égal à la valeur retournée par CObArray ::GetUpperBound.
TYPE
Type des éléments stockés dans le tableau de classes de base.
ptr
Pointeur vers l’élément à insérer dans le tableau à l’adresse nIndex. Une valeur NULL est autorisée.
Notes
Pour obtenir des remarques plus détaillées, consultez CObArray ::SetAt.
CTypedPtrArray ::SetAtGrow
Cette fonction membre appelle BASE_CLASS
::SetAtGrow.
void SetAtGrow(
INT_PTR nIndex,
TYPE newElement);
Paramètres
nIndex
Index entier supérieur ou égal à 0.
TYPE
Type des éléments stockés dans le tableau de classes de base.
newElement
Pointeur d’objet à ajouter à ce tableau. Une valeur NULL est autorisée.
Notes
Pour obtenir des remarques plus détaillées, consultez CObArray ::SetAtGrow.
Voir aussi
Exemple MFC COLLECT
Graphique hiérarchique
CPtrArray, classe
CObArray, classe