std::priority_queue::emplace
From cppreference.com
                    
                                        
                    < cpp | container | priority queue
                    
                                                            
                    
|   template< class... Args > 
void emplace( Args&&... args );  | 
(since C++11) | |
Pushes new element to the priority queue. The element is constructed 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);
Contents | 
[edit] Parameters
| args | - | arguments to forward to the constructor of the element | 
[edit] Return value
(none)
[edit] Complexity
Logarithmic number of comparisons plus the complexity of Container::emplace_back.
[edit] See also
|    inserts element and sorts the underlying container  (public member function)  | 
|
|    removes the top element   (public member function)  |