fork(1) download
#include <queue>
#include <vector>
#include <functional>
using namespace std;

int main(){
    typedef pair<int,float> ifpair;
    bool(*comp)(ifpair,ifpair) = []( ifpair a,  ifpair b ) { return a.second > b.second; };
    typedef priority_queue< ifpair , vector<ifpair>, decltype( comp ) > t_npq;
    t_npq npq( comp );
    //do something with npq. finish using it (without emptying it) and clear for next round
    t_npq empty( comp );
    swap(npq , empty);
}
Success #stdin #stdout 0s 3336KB
stdin
Standard input is empty
stdout
Standard output is empty