diff --git a/STL_Extension/include/CGAL/Modifiable_priority_queue.h b/STL_Extension/include/CGAL/Modifiable_priority_queue.h index 06a6a35e274..45d25779cf9 100644 --- a/STL_Extension/include/CGAL/Modifiable_priority_queue.h +++ b/STL_Extension/include/CGAL/Modifiable_priority_queue.h @@ -24,7 +24,7 @@ #ifdef CGAL_SURFACE_MESH_SIMPLIFICATION_USE_RELAXED_HEAP #include #else -#include +#include namespace CGAL { @@ -32,17 +32,15 @@ namespace CGAL { template , class Comp = std::less, - class ID = ::boost::identity_property_map > -class mutable_queue_with_remove : public internal::boost::mutable_queue + class ID = boost::identity_property_map > +class mutable_queue_with_remove : public boost::mutable_queue { - typedef internal::boost::mutable_queue Base; + typedef boost::mutable_queue Base; public: typedef typename Base::size_type size_type; typedef typename Base::Node Node; - mutable_queue_with_remove(size_type n, const Comp& x=Comp(), const ID& _id=ID()) : Base(n,x,_id) { - this->index_array = typename Base::IndexArray(n,n); - } + mutable_queue_with_remove(size_type n, const Comp& x=Comp(), const ID& _id=ID()) : Base(n,x,_id) {} void remove(const IndexedType& x){ //first place element at the top @@ -53,13 +51,7 @@ public: while (node.has_parent()) node.swap(node.parent(), this->index_array); //then pop it - pop(); - } - - void pop(){ - size_type id_front = get(this->id, this->c.front()); - static_cast(this)->pop(); - this->index_array[ id_front ] = this->index_array.size(); + this->pop(); } bool contains(const IndexedType& x) const {