std::flat_set<Key,Compare,KeyContainer>:: emplace
|
template
<
class
...
Args
>
std:: pair < iterator, bool > emplace ( Args && ... args ) ; |
(depuis C++23)
(constexpr depuis C++26) |
|
Insère un nouvel élément dans le conteneur construit sur place avec les args donnés, s'il n'existe aucun élément avec la clé dans le conteneur.
First, initializes an object t of type
value_type
with
std::
forward
<
Args
>
(
args
)
...
, then inserts
t
as if by
auto it = ranges::upper_bound(c, t, compare); c.insert(it, std::move(t));
` et contient des termes spécifiques au C++. Seul le texte environnant aurait été traduit si présent.
Cette surcharge participe à la résolution de surcharge seulement si std:: is_constructible_v < value_type, Args... > est true .
Si
value_type
n'est pas
EmplaceConstructible
dans
flat_set
à partir de
args
, le comportement est indéfini.
| Les informations sur l'invalidation des itérateurs sont copiées depuis ici |
Table des matières |
Paramètres
| args | - | arguments à transmettre au constructeur de l'élément |
Valeur de retour
Une paire constituée d'un itérateur vers l'élément inséré (ou vers l'élément qui a empêché l'insertion) et d'une bool valeur définie à true si et seulement si l'insertion a eu lieu.
Exceptions
Si une exception est levée pour quelque raison que ce soit, cette fonction n'a aucun effet ( garantie forte de sûreté face aux exceptions ).
Complexité
Logarithmique par rapport à la taille du conteneur.
Notes
L'utilisation judicieuse de
emplace
permet de construire le nouvel élément tout en évitant les opérations inutiles de copie ou de déplacement.
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Voir aussi
|
construit des éléments en place en utilisant un indice
(fonction membre publique) |
|
|
insère des éléments
(fonction membre publique) |