FreeBSD Manual Pages
std::priori...ue::emplace(3) C++ Standard Libary std::priori...ue::emplace(3) NAME std::priority_queue::emplace - std::priority_queue::emplace Synopsis template< class... Args > (since C++11) void emplace( Args&&... args ); Pushes a new element to the priority 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)...); std::push_heap(c.begin(), c.end(), comp); Parameters args - arguments to forward to the constructor of the element Return value (none) Complexity Logarithmic number of comparisons plus the complexity of Con- tainer::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"; } friend bool operator< (S const& x, S const& y) { return x.id < y.id; } }; int main() { std::priority_queue<S> adaptor; adaptor.emplace(42, 3.14, "C++"); std::cout << "id: " << adaptor.top().id << '\n'; } Output: S::S(42, 3.14, "C++") id = 42 See also push inserts element and sorts the underlying container (public member function) pop removes the top element (public member function) http://cppreference.com 2022.07.31 std::priori...ue::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::priority_queue::emplace&sektion=3&manpath=FreeBSD+Ports+15.0>
