Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / cc / base / scoped_ptr_vector.h
index 288cb6f..e046648 100644 (file)
@@ -20,7 +20,7 @@ namespace cc {
 template <typename T>
 class ScopedPtrVector {
  public:
-  typedef typename std::vector<T*>::const_iterator const_iterator;
+  typedef typename std::vector<const T*>::const_iterator const_iterator;
   typedef typename std::vector<T*>::reverse_iterator reverse_iterator;
   typedef typename std::vector<T*>::const_reverse_iterator
       const_reverse_iterator;
@@ -166,6 +166,21 @@ class ScopedPtrVector {
     std::sort(data_.begin(), data_.end(), comp);
   }
 
+  template <class Compare>
+  inline void make_heap(Compare comp) {
+    std::make_heap(data_.begin(), data_.end(), comp);
+  }
+
+  template <class Compare>
+  inline void push_heap(Compare comp) {
+    std::push_heap(data_.begin(), data_.end(), comp);
+  }
+
+  template <class Compare>
+  inline void pop_heap(Compare comp) {
+    std::pop_heap(data_.begin(), data_.end(), comp);
+  }
+
   iterator begin() { return static_cast<iterator>(data_.begin()); }
   const_iterator begin() const { return data_.begin(); }
   iterator end() { return static_cast<iterator>(data_.end()); }