]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp
re PR libstdc++/37144 (A bug in include/ext/pb_ds/detail/pat_trie_/constructors_destr...
[thirdparty/gcc.git] / libstdc++-v3 / include / ext / pb_ds / detail / binomial_heap_ / binomial_heap_.hpp
index a6d6098fd37c7e1ee45a9146589dff6da85f6b33..d8704f65c41b83d6aa92e940111c6004f2ac94fa 100644 (file)
@@ -53,64 +53,56 @@ namespace __gnu_pbds
 {
   namespace detail
   {
-
 #define PB_DS_CLASS_T_DEC \
-    template<typename Value_Type, class Cmp_Fn, class Allocator>
+    template<typename Value_Type, typename Cmp_Fn, typename _Alloc>
 
 #define PB_DS_CLASS_C_DEC \
-    binomial_heap_<Value_Type, Cmp_Fn, Allocator>
-
-#define PB_DS_BASE_C_DEC \
-    binomial_heap_base_<Value_Type, Cmp_Fn, Allocator>
+    binomial_heap<Value_Type, Cmp_Fn, _Alloc>
 
-    /**
-     * class description = "8y|\|0|\/|i41 h34p 74813">
-     **/
-    template<typename Value_Type, class Cmp_Fn, class Allocator>
-    class binomial_heap_ : public PB_DS_BASE_C_DEC
+    /// Binomial heap.
+    template<typename Value_Type, typename Cmp_Fn, typename _Alloc>
+    class binomial_heap
+    : public binomial_heap_base<Value_Type, Cmp_Fn, _Alloc>
     {
     private:
-      typedef PB_DS_BASE_C_DEC base_type;
-      typedef typename base_type::node_pointer node_pointer;
-      typedef typename base_type::const_node_pointer const_node_pointer;
+      typedef binomial_heap_base<Value_Type, Cmp_Fn, _Alloc>   base_type;
+      typedef typename base_type::node_pointer                 node_pointer;
+      typedef typename base_type::node_const_pointer   node_const_pointer;
 
     public:
-      typedef Value_Type value_type;
-      typedef typename Allocator::size_type size_type;
-      typedef typename Allocator::difference_type difference_type;
-      typedef typename base_type::pointer pointer;
-      typedef typename base_type::const_pointer const_pointer;
-      typedef typename base_type::reference reference;
-      typedef typename base_type::const_reference const_reference;
-      typedef typename base_type::const_point_iterator const_point_iterator;
-      typedef typename base_type::point_iterator point_iterator;
-      typedef typename base_type::const_iterator const_iterator;
-      typedef typename base_type::iterator iterator;
-      typedef typename base_type::cmp_fn cmp_fn;
-      typedef typename base_type::allocator_type allocator_type;
+      typedef Value_Type                               value_type;
+      typedef typename _Alloc::size_type               size_type;
+      typedef typename _Alloc::difference_type                 difference_type;
+      typedef typename base_type::pointer              pointer;
+      typedef typename base_type::const_pointer        const_pointer;
+      typedef typename base_type::reference            reference;
+      typedef typename base_type::const_reference      const_reference;
+      typedef typename base_type::point_const_iterator         point_const_iterator;
+      typedef typename base_type::point_iterator       point_iterator;
+      typedef typename base_type::const_iterator       const_iterator;
+      typedef typename base_type::iterator             iterator;
+      typedef typename base_type::cmp_fn               cmp_fn;
+      typedef typename base_type::allocator_type       allocator_type;
 
-      binomial_heap_();
+      binomial_heap();
 
-      binomial_heap_(const Cmp_Fn& r_cmp_fn);
+      binomial_heap(const Cmp_Fn&);
 
-      binomial_heap_(const PB_DS_CLASS_C_DEC& other);
+      binomial_heap(const binomial_heap&);
 
-      ~binomial_heap_();
+      ~binomial_heap();
 
     protected:
 #ifdef _GLIBCXX_DEBUG
       void
-      assert_valid(const char* file, int line) const;
-#endif 
+      assert_valid(const char*, int) const;
+#endif
     };
 
 #include <ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp>
 #include <ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp>
 
 #undef PB_DS_CLASS_C_DEC
-
 #undef PB_DS_CLASS_T_DEC
-
-#undef PB_DS_BASE_C_DEC
   } // namespace detail
 } // namespace __gnu_pbds