/* * Heap * */ template<class Ran> void push_heap(Ran first, Ran last); template<class Ran, class Cmp> void push_heap(Ran first, Ran last, Cmp cmp); template<class Ran> void pop_heap(Ran first, Ran last); template<class Ran, class Cmp> void pop_heap(Ran first, Ran last, Cmp cmp); template<class Ran> void make_heap(Ran first, Ran last); // turn sequence into heap template<class Ran, class Cmp> void make_heap(Ran first, Ran last, Cmp cmp); template<class Ran> void sort_heap(Ran first, Ran last); // turn heap into sequence template<class Ran, class Cmp> void sort_heap(Ran first, Ran last, Cmp cmp);