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

Does nothing, except that may throw std::bad_alloc. The request to increase the capacity (i.e., the internal storage size) is ignored because std::inplace_vector<T, N> is a fixed-capacity container.

# Declarations

static constexpr void reserve( size_type new_cap );

(since C++26)

# Parameters

# Return value

(none)

# Notes

This function exists for compatibility with vector-like interfaces.

# Example

#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); // does nothing
    assert(v.capacity() == 4 && v.size() == 3);
 
    try
    {
        v.reserve(13); // throws, because requested capacity > N; v is left unchanged
    }
    catch(const std::bad_alloc& ex)
    {
        std::cout << ex.what() << '\n';
    }
    assert(v.capacity() == 4 && v.size() == 3);
}

# See also