Namespaces
Variants

std::inplace_vector<T,N>:: reserve

From cppreference.net
static constexpr void reserve ( size_type new_cap ) ;
(depuis C++26)

Ne fait rien, sauf qu'il peut lever std::bad_alloc . La demande d'augmentation de la capacité (c'est-à-dire la taille du stockage interne) est ignorée car std:: inplace_vector < T, N > est un conteneur à capacité fixe.

Table des matières

Paramètres

new_cap - nouvelle capacité du inplace_vector , en nombre d'éléments

Valeur de retour

(aucun)

Complexité

Constante.

Exceptions

std::bad_alloc si new_cap > capacity ( ) est true .

Notes

Cette fonction existe pour la compatibilité avec les interfaces de type vectoriel.

Exemple

#include <cassert>
#include <inplace_vector>
#include <iostream>
int main()
{
    std::inplace_vector<int, 4> v{1, 2, 3};
    assert(v.capacity() == 4 && v.size() == 3);
    v.reserve(2); // ne fait rien
    assert(v.capacity() == 4 && v.size() == 3);
    try
    {
        v.reserve(13); // lève une exception, car la capacité demandée > N ; v reste inchangé
    }
    catch(const std::bad_alloc& ex)
    {
        std::cout << ex.what() << '\n';
    }
    assert(v.capacity() == 4 && v.size() == 3);
}

Sortie possible :

std::bad_alloc

Voir aussi

renvoie le nombre d'éléments
(fonction membre publique)
[static]
renvoie le nombre maximum possible d'éléments
(fonction membre publique statique)
modifie le nombre d'éléments stockés
(fonction membre publique)
[static]
renvoie le nombre d'éléments pouvant être contenus dans le stockage actuellement alloué
(fonction membre publique statique)
réduit l'utilisation de la mémoire en libérant la mémoire inutilisée
(fonction membre publique statique)