Namespaces
Variants

std::flat_multimap<Key,T,Compare,KeyContainer,MappedContainer>:: erase

From cppreference.net

iterator erase ( iterator pos ) ;
(1) (depuis C++23)
(constexpr depuis C++26)
iterator erase ( const_iterator pos ) ;
(2) (depuis C++23)
(constexpr depuis C++26)
iterator erase ( const_iterator first, const_iterator last ) ;
(3) (depuis C++23)
(constexpr depuis C++26)
size_type erase ( const Key & key ) ;
(4) (depuis C++23)
(constexpr depuis C++26)
template < class K >
size_type erase ( K && x ) ;
(5) (depuis C++23)
(constexpr depuis C++26)

Supprime les éléments spécifiés du conteneur. L'ordre des éléments équivalents restants est préservé.

1,2) Supprime l'élément à la position pos .
3) Supprime les éléments dans l'intervalle [ first , last ) , qui doit être un intervalle valide dans * this .
4) Supprime tous les éléments dont la clé est équivalente à key .
5) Supprime tous les éléments dont la clé est équivalente à la valeur x .
Cette surcharge participe à la résolution de surcharge seulement si Compare est transparent , et si ni iterator ni const_iterator ne sont implicitement convertibles à partir de K . Cela permet d'appeler cette fonction sans construire une instance de Key .

L'itérateur pos doit être déréférençable. Ainsi l'itérateur end() (qui est valide, mais n'est pas déréférençable) ne peut pas être utilisé comme valeur pour pos .

Table des matières

Paramètres

pos - itérateur vers l'élément à supprimer
first, last - la paire d'itérateurs définissant la plage des éléments à supprimer
key - valeur clé des éléments à supprimer
x - une valeur de tout type pouvant être comparée de manière transparente avec une clé désignant les éléments à supprimer

Valeur de retour

1-3) Itérateur suivant le dernier élément supprimé.
4) Nombre d'éléments supprimés.
5) Nombre d'éléments supprimés.

Exceptions

1-3) Ne lance rien.
4,5) Toute exception levée par l'objet Compare .

Complexité

Depends on underlying containers. Typically linear.

Exemple

#include <flat_map>
#include <iostream>
int main()
{
    std::flat_multimap<int, std::string> c =
    {
        {1, "one"}, {2, "two"}, {3, "three"},
        {4, "four"}, {5, "five"}, {6, "six"}
    };
    // supprimer tous les nombres impairs de c
    for (auto it = c.begin(); it != c.end();)
    {
        if (it->first % 2 != 0)
            it = c.erase(it);
        else
            ++it;
    }
    for (auto& p : c)
        std::cout << p.second << ' ';
    std::cout << '\n';
}

Sortie :

two four six

Voir aussi

efface le contenu
(fonction membre publique)