Partager via


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