(C++17) | ||||
| Sequence | ||||
(C++11) | ||||
(C++26) | ||||
(C++26) | ||||
(C++11) | ||||
| Associative | ||||
| Unordered associative | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
| Adaptors | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
| Views | ||||
(C++20) | ||||
(C++23) | ||||
| Tables | ||||
| Iterator invalidation | ||||
| Member function table | ||||
| Non-member function table |
| Member types | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Non-member functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
constexpr inplace_vector& operator=(const inplace_vector& other); | (1) | (since C++26) |
constexpr inplace_vector& operator=( inplace_vector&& other) noexcept(/* see below */); | (2) | (since C++26) |
constexpr inplace_vector& operator=(std::initializer_list<T> init); | (3) | (since C++26) |
Replaces the contents of theinplace_vector.
Contents |
| other | - | anotherinplace_vector to be used as source to initialize the elements of the container with |
| init | - | initializer list to initialize the elements of the container with |
(std::is_nothrow_move_assignable_v<T>&&
#include <initializer_list>#include <inplace_vector>#include <new>#include <print>#include <ranges>#include <string> int main(){std::inplace_vector<int,4> x({1,2,3}), y;std::println("Initially:");std::println("x = {}", x);std::println("y = {}", y); std::println("Copy assignment copies data from x to y:"); y= x;// overload (1)std::println("x = {}", x);std::println("y = {}", y); std::inplace_vector<std::string,3> z, w{"\N{CAT}","\N{GREEN HEART}"};std::println("Initially:");std::println("z = {}", z);std::println("w = {}", w); std::println("Move assignment moves data from w to z:"); z= std::move(w);// overload (2)std::println("z = {}", z);std::println("w = {}", w);// w is in valid but unspecified state auto l={4,5,6,7};std::println("Assignment of initializer_list {} to x:", l); x= l;// overload (3)std::println("x = {}", x); std::println("Assignment of initializer_list with size bigger than N throws:");try{ x={1,2,3,4,5};// throws: (initializer list size == 5) > (capacity N == 4)}catch(conststd::bad_alloc& ex){std::println("ex.what(): {}", ex.what());}}
Possible output:
Initially:x = [1, 2, 3]y = []Copy assignment copies data from x to y:x = [1, 2, 3]y = [1, 2, 3]Initially:z = []w = ["🐈", "💚"]Move assignment moves data from w to z:z = ["🐈", "💚"]w = ["", ""]Assignment of initializer_list [4, 5, 6, 7] to x:x = [4, 5, 6, 7]Assignment of initializer_list with size bigger than N throws:ex.what(): std::bad_alloc
constructs theinplace_vector(public member function)[edit] | |
| assigns values to the container (public member function)[edit] |