std::inplace_vector<T,N>::reserve
From cppreference.com
< cpp | container | inplace vector
static constexpr void reserve( size_type new_cap ); |
(since C++26) | |
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.
Parameters
new_cap | - | new capacity of the inplace_vector , in number of elements
|
Return value
(none)
Complexity
Constant.
Exceptions
std::bad_alloc if new_cap > capacity() is true.
Notes
This function exists for compatibility with vector-like interfaces.
Example
Run this code
#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); }
Possible output:
std::bad_alloc
See also
returns the number of elements (public member function) | |
[static] |
returns the maximum possible number of elements (public static member function) |
changes the number of elements stored (public member function) | |
[static] |
returns the number of elements that can be held in currently allocated storage (public static member function) |
[static] |
reduces memory usage by freeing unused memory (public static member function) |