Share via


forward_list Class

Décrit un objet qui contrôle une séquence de longueur variable d'éléments.La séquence est stockée comme une liste chaînée de nœuds, chacun contenant un membre de type Type.

template<class Type, class Allocator = allocator<Type> >
    class forward_list {
public:
    typedef Allocator allocator_type;
    typedef typename Allocator::pointer pointer;
    typedef typename Allocator::const_pointer
        const_pointer;
    typedef typename Allocator::reference reference;
    typedef typename Allocator::const_reference const_reference;
    typedef typename Allocator::value_type value_type;
    typedef typename Allocator::size_type size_type;
    typedef typename Allocator::difference_type difference_type;

    typedef T0 iterator;
    typedef T1 const_iterator;

    forward_list();
    explicit forward_list(const Allocator& _Alloc);
    explicit forward_list(size_type _Count);
    forward_list(
        size_type _Count, 
        const Type& _Val
    );
    forward_list(
        size_type _Count, 
        const Type& _Val, 
        const Allocator& _Alloc
    );
    forward_list(const forward_list& _Right);
    template<class InputIterator>
        forward_list (
            InputIterator _First, 
            InputIterator _Last
);
    template<class InputIterator>
        forward_list (
            InputIterator _First,
            InputIterator _Last, 
            const Allocator& _Alloc
);

    forward_list (initializer_list<Type> _Init)
    forward_list (
        initializer_list<Type> _Init,
        const Allocator& _Alloc
);
    forward_list (forward_list&& _Right);
 
    ~forward_list();

    forward_list& operator= (const forward_list& _Right);
    forward_list& operator= (forward_list&& _Right);

    iterator before_begin ();
    const_iterator before_begin () const;
    iterator begin ();
    const_iterator begin () const;
    iterator end ();
    const_iterator end () const;

    const_iterator cbefore_begin () const;
    const_iterator cbegin () const;
    const_iterator cend () const;

    void resize (size_type _Count);
    void resize (
        size_type _Count, 
        const Type& _Val
    );
    size_type max_size () const;
    bool empty () const;

    Alloc get_allocator () const;

    reference front ();
    const_reference front () const;

    void push_front (const Type& _Val);
    void push_front (Type&& _Val);
    template<class _Type>
        void emplace_front(_Type&& _Val);
    void pop_front ();

    template<class InputIterator>
        void assign (
            InputIterator _First, 
            InputIterator _Last
);
    void assign (
        size_type _Count, 
        const Type& _Val
    );

    iterator insert_after (
        const_iterator _Pos, 
        const Type& _Val
    );
    void insert_after (
        const_iterator _Pos, 
        size_type _Count, 
        const Type& _Val
    );
    template<class InputIterator >
        void insert_after (
            const_iterator _Pos, 
            InputIterator _First, 
            InputIterator _Last
        );
    void insert_after (
        const iterator _Pos, 
        initializer_list<Type> _Init
)
    iterator insert_after (
        const_iterator _Pos, 
        Type&& _Val
    );
    template<class Type>
        iterator emplace_after(const_iterator _Where, Type&& _Val);
    iterator erase_after (const_iterator _Pos);
    iterator erase_after (
        const_iterator _First, 
        const_iterator _Last
    );
    void clear ();

    void swap (forward_list& _Right);

    void splice_after (
        const_iterator _Pos, 
        forward_list& _List
    );
    void splice_after (
        const_iterator _Pos, 
        forward_list& _List, 
        iterator _First
    );
    void splice_after (
        const_iterator _Pos, 
        forward_list& _List, 
        iterator _First,
        iterator _Last);

    void remove (const Type& _Val);
    template<class Predicate>
        void remove_if (Predicate _Pred);
    void unique ();
    template<class BinaryPredicate>
        void unique (BinaryPredicate _Comp);

    void merge (forward_list& _List);
    template<class BinaryPredicate>
        void merge (
            forward_list& _List, 
            BinaryPredicate _Comp
);
    void sort ();
    template<class BinaryPredicate>
        void sort (BinaryPredicate _Comp);
    void reverse ();
};

Paramètres

Paramètre

Description

Type

Type de données d'élément doivent être stockées dans le forward_list.

_Alloc

L'objet allocateur stockée qui encapsule les détails sur l'allocation de forward_list et la désallocation de mémoire.Ce paramètre est optionnel.La valeur par défaut est allocateur <Type>.

_Count

Le nombre d'éléments dans un forward_list.

_Val

L'élément à ajouter à la forward_list.

_Right

La liste à incorporer dans le forward_list.

_Pos

L'itérateur indiquant un emplacement dans le forward_list.

_First

L'itérateur indiquant l'emplacement de départ pour une plage d'éléments dans le forward_list.

_Last

L'itérateur indiquant l'emplacement de fin d'une plage d'éléments dans le forward_list.

_Init

La liste d'initialiseurs

_List

Forward_list de fusion, épissure ou d'affecter à partir de.

_Comp

Fonction de comparaison.

Notes

A forward_list objet alloue et libère le stockage de la séquence il contrôle par l'intermédiaire d'un objet stocké de la classe Allocator qui est basé sur allocator Class (communément appelé std::allocator).Pour plus d'informations, consultez Allocateurs.Un objet allocateur doit avoir la même interface externe en tant qu'objet de classe de modèle allocator.

[!REMARQUE]

L'objet allocateur stockée n'est pas copié lors de l'objet conteneur est assigné.

Les itérateurs, les pointeurs et les références peuvent devenir non valides lorsque les éléments de leur séquence contrôlée sont effacés par le biais de forward_list.Insertions et les épissures effectuée sur la séquence contrôlée par l'intermédiaire de forward_list n'invalide pas les itérateurs.

Ajouts à la séquence contrôlée peuvent se produire par les appels à forward_list::insert_after, qui est la seule fonction membre qui appelle le constructeur Type(const _Type&).forward_listpeut également appel déplacer constructeurs.Si une telle expression lève une exception, l'objet conteneur n'insère aucuns nouveaux éléments et lève de nouveau l'exception.Par conséquent, un objet de classe de modèle forward_list est laissé dans un état connu lorsque ces exceptions se produisent.

Ee373559.collapse_all(fr-fr,VS.110).gifConstructeurs

forward_list

Construit un objet de type forward_list.

Ee373559.collapse_all(fr-fr,VS.110).gifTypedef

allocator_type

Un type qui représente la classe de l'allocateur d'un objet de liste vers l'avant.

const_iterator

Un type qui fournit un itérateur constant pour la liste vers l'avant.

const_pointer

Un type qui fournit un pointeur vers un const élément dans une liste vers l'avant.

const_reference

Un type qui fournit une référence constante à un élément dans la liste vers l'avant.

difference_type

Un type entier signé qui peut être utilisé pour représenter le nombre d'éléments d'une liste vers l'avant dans une plage entre les éléments indiqué par les itérateurs.

itérateur

Un type qui fournit un itérateur pour la liste vers l'avant.

pointer

Un type qui fournit un pointeur vers un élément dans la liste vers l'avant.

Référence

Un type qui fournit une référence à un élément dans la liste vers l'avant.

size_type

Un type qui représente la distance entre deux éléments non signée.

Value_type

Un type qui représente le type d'élément stocké dans une liste vers l'avant.

Ee373559.collapse_all(fr-fr,VS.110).gifFonctions membres

assign

Efface les éléments à partir d'une liste vers l'avant et copie un nouvel ensemble d'éléments dans une liste de transfert de cible.

before_begin

Retourne un itérateur adressage la position avant le premier élément dans une liste vers l'avant.

begin

Retourne un itérateur adressage au premier élément dans une liste vers l'avant.

cbefore_begin

Retourne un itérateur const adressage la position avant le premier élément dans une liste vers l'avant.

cbegin

Retourne un itérateur const adressage au premier élément dans une liste vers l'avant.

cend

Retourne un itérateur const qui répond à l'emplacement suivant le dernier élément d'une liste vers l'avant.

clear

Efface tous les éléments d'une liste vers l'avant.

emplace_after

Déplacement construit un nouvel élément après une position spécifiée.

emplace_front

Ajoute un élément construit en place au début de la liste.

empty

Teste si une liste directe est vide.

end

Retourne un itérateur qui répond à l'emplacement suivant le dernier élément d'une liste vers l'avant.

erase_after

Supprime les éléments de la liste directe après une position spécifiée.

front

Renvoie une référence au premier élément d'une liste vers l'avant.

get_allocator

Retourne une copie de l'objet allocateur utilisé pour construire une liste vers l'avant.

insert_after

Ajoute des éléments à la liste directe après une position spécifiée.

max_size

Retourne la longueur maximale d'une liste vers l'avant.

merge

Supprime les éléments de la liste d'arguments, les insère dans la liste des cibles vers l'avant et trie le jeu de nouveau, combiné d'éléments dans l'ordre croissant ou dans un autre ordre donné.

pop_front

Supprime l'élément au début d'une liste vers l'avant.

push_front

Ajoute un élément au début d'une liste vers l'avant.

remove

Efface les éléments dans une liste directe qui correspond à une valeur spécifiée.

remove_if

Efface les éléments d'une liste vers l'avant pour lequel un prédicat spécifié est satisfait.

resize

Spécifie une nouvelle taille pour obtenir une liste vers l'avant.

inverse

Inverse l'ordre dans lequel les éléments apparaissent dans une liste vers l'avant.

sort

Organise les éléments dans l'ordre croissant ou avec un ordre spécifié par un prédicat.

splice_after

Restitches des liens entre les nœuds.

swap

Échange les éléments des deux listes vers l'avant.

unique

Supprime les éléments adjacents qui réussissent un test spécifié.

Ee373559.collapse_all(fr-fr,VS.110).gifOpérateurs

operator=

Remplace les éléments de la liste vers l'avant avec une copie d'une autre liste directe.

Configuration requise

En-tête : <forward_list>

Espace de noms : std

Voir aussi

Référence

<forward_list>

Autres ressources

<forward_list> membres