std::inplace_vector<T,N>::resize - cppreference.com (original) (raw)

constexpr void resize( size_type count ); (1) (since C++26)
constexpr void resize( size_type count, const value_type& value ); (2) (since C++26)

Resizes the container to contain count elements:

  1. Additional copies of value are appended.

[edit] Parameters

count - new size of the container
value - the value to initialize the new elements with
Type requirements
-If the following condition is satisfied, the behavior is undefined:1) T is not DefaultInsertable into inplace_vector. 2) T is not CopyInsertable into inplace_vector.

[edit] Complexity

Linear in the difference between the current size and count.

Exceptions

If an exception is thrown for any reason, these functions have no effect (strong exception safety guarantee).

[edit] Example

#include #include   int main() { std::inplace_vector<int, 6> v(6, 9); std::println("Initially, v = {}", v);   v.resize(2); std::println("After resize(2), v = {}", v);   v.resize(4); std::println("After resize(4), v = {}", v);   v.resize(6, -1); std::println("After resize(6, -1), v = {}", v);   try { std::print("Trying resize(13): "); v.resize(13); // throws, because count > N; v is left unchanged } catch(const std::bad_alloc& ex) { std::println("ex.what(): {}", ex.what()); } std::println("After exception, v = {}", v); }

Possible output:

Initially, v = [9, 9, 9, 9, 9, 9] After resize(2), v = [9, 9] After resize(4), v = [9, 9, 0, 0] After resize(6, -1), v = [9, 9, 0, 0, -1, -1] Trying resize(13): ex.what(): std::bad_alloc After exception, v = [9, 9, 0, 0, -1, -1]

[edit] See also

| | returns the maximum possible number of elements (public static member function) [edit] | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | returns the number of elements (public member function) [edit] | | | returns the number of elements that can be held in currently allocated storage (public static member function) [edit] | | | checks whether the container is empty (public member function) [edit] |