C++ Queue Library - emplace() Function



Description

The C++ function std::priority_queue::emplace() constructs and inserts new element in sorted order in the priority_queue. The new element is constructed in-place i.e. without performing move or copy operation.

This member function effectively calls emplace_back function of underlying container.

Declaration

Following is the declaration for std::priority_queue::emplace() function form std::queue header.

C++11

template <class... Args> void emplace (Args&&... args);

Parameters

args − Arguments forwarded to construct the new element.

Return value

None.

Exceptions

This member function never throws exception.

Time complexity

Logarithmic in the size of the container.

Example

The following example shows the usage of std::priority_queue::emplace() function.

#include <iostream>
#include <queue>

using namespace std;

int main(void) {
   priority_queue<int> q;

   q.emplace(3);
   q.emplace(1);
   q.emplace(5);
   q.emplace(2);
   q.emplace(4);

   cout << "Queue contents are" << endl;
   while (!q.empty()) {
      cout << q.top() << endl;
   q.pop();
   }

   return 0;
}

Let us compile and run the above program, this will produce the following result −

Queue contents are
5
4
3
2
1
queue.htm
Advertisements