Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::priority_queue::pop(3)   C++ Standard Libary  std::priority_queue::pop(3)

NAME
       std::priority_queue::pop	- std::priority_queue::pop

Synopsis
	  void pop();

	  Removes the top element from the priority queue. Effectively calls
	  std::pop_heap(c.begin(), c.end(), comp); c.pop_back();.

Parameters
	  (none)

Return value
	  (none)

Complexity
	  Logarithmic  number  of  comparisons	plus  the  complexity  of Con-
       tainer::pop_back.

Example
       // Run this code

	#include <iostream>
	#include <queue>

	struct Event
	{
	    int	priority{};
	    char data{'	'};

	    friend bool	operator<(Event	const& lhs, Event const& rhs)
	    {
		return lhs.priority < rhs.priority;
	    }

	    friend std::ostream& operator<<(std::ostream& os, Event const& e)
	    {
		return os << '{' << e.priority << ", '"	<< e.data << "'}";
	    }
	};

	int main()
	{
	    std::priority_queue<Event> events;

	    std::cout << "Fill the events queue:\t";

	    for	(auto const e  :  {Event{6,'L'},  {8,'I'},  {9,'S'},  {1,'T'},
       {5,'E'},	{3,'N'}})
	    {
		std::cout << e << ' ';
		events.push(e);
	    }

	    std::cout << "\nProcess events:\t\t";

	    for	(; !events.empty(); events.pop())
	    {
		Event const& e = events.top();
		std::cout << e << ' ';
	    }

	    std::cout << '\n';
	}

Output:
	Fill  the  events queue:  {6, 'L'} {8, 'I'} {9,	'S'} {1, 'T'} {5, 'E'}
       {3, 'N'}
	Process	events:		{9, 'S'} {8, 'I'} {6, 'L'} {5, 'E'}  {3,  'N'}
       {1, 'T'}

See also
	  emplace  constructs  element	in-place and sorts the underlying con-
       tainer
	  (C++11) (public member function)
	  push	  inserts element and sorts the	underlying container
		  (public member function)
	  top	  accesses the top element
		  (public member function)

http://cppreference.com		  2024.06.10	   std::priority_queue::pop(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::priority_queue::pop&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help