FreeBSD Manual Pages
std::queue::emplace(3) C++ Standard Libary std::queue::emplace(3) NAME std::queue::emplace - std::queue::emplace Synopsis template< class... Args > (since C++11) void emplace( Args&&... args ); (until C++17) template< class... Args > (since C++17) decltype(auto) emplace( Args&&... args ); Pushes a new element to the end of the queue. The element is con- structed in-place, i.e. no copy or move operations are performed. The constructor of the element is called with exactly the same arguments as supplied to the function. Effectively calls c.emplace_back(std::forward<Args>(args)...); Parameters args - arguments to forward to the constructor of the element Return value (none) (until C++17) The value or reference, if any, returned by the above call to (since C++17) Container::emplace_back. Complexity Identical to the complexity of Container::emplace_back. Example // Run this code #include <iostream> #include <queue> struct S { int id; S(int i, double d, std::string s) : id{i} { std::cout << "S::S(" << i << ", " << d << ", \"" << s << "\");\n"; } }; int main() { std::queue<S> adaptor; const S& s = adaptor.emplace(42, 3.14, "C++"); // for return value C++17 required std::cout << "id = " << s.id << '\n'; } Output: S::S(42, 3.14, "C++") id = 42 Defect reports The following behavior-changing defect reports were applied retroac- tively to previously published C++ standards. DR Applied to Behavior as published Correct behavior LWG 2783 C++17 emplace returned reference, breaking re- turns decltype(auto) compatibility with pre-C++17 containers See also push inserts element at the end (public member function) pop removes the first element (public member function) http://cppreference.com 2022.07.31 std::queue::emplace(3)
NAME | Synopsis | Parameters | Return value | Complexity | Example | Output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::queue::emplace&sektion=3&manpath=FreeBSD+Ports+15.0>
