bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master: C++: prefer size_type to unsigned for indexes


From: Akim Demaille
Subject: master: C++: prefer size_type to unsigned for indexes
Date: Sun, 12 Aug 2018 15:30:25 +0200

I’ll install this soon.

commit 683a53a23b3ee4bfc7c2ba502bb413bd5372b8a2
Author: Akim Demaille <address@hidden>
Date:   Sun Aug 12 14:34:30 2018 +0200

    C++: prefer size_type to unsigned for indexes
    
    * data/stack.hh (size_type): New, based on the container type.

diff --git a/data/stack.hh b/data/stack.hh
index c79f0833..b7196cf6 100644
--- a/data/stack.hh
+++ b/data/stack.hh
@@ -29,6 +29,7 @@ m4_define([b4_stack_define],
     // Hide our reversed order.
     typedef typename S::reverse_iterator iterator;
     typedef typename S::const_reverse_iterator const_iterator;
+    typedef typename S::size_type size_type;
 
     stack ()
       : seq_ ()
@@ -36,7 +37,7 @@ m4_define([b4_stack_define],
       seq_.reserve (200);
     }
 
-    stack (unsigned n)
+    stack (size_type n)
       : seq_ (n)
     {}
 
@@ -44,7 +45,7 @@ m4_define([b4_stack_define],
     ///
     /// Index 0 returns the topmost element.
     T&
-    operator[] (unsigned i)
+    operator[] (size_type i)
     {
       return seq_[seq_.size () - 1 - i];
     }
@@ -53,7 +54,7 @@ m4_define([b4_stack_define],
     ///
     /// Index 0 returns the topmost element.
     const T&
-    operator[] (unsigned i) const
+    operator[] (size_type i) const
     {
       return seq_[seq_.size () - 1 - i];
     }
@@ -69,7 +70,7 @@ m4_define([b4_stack_define],
     }
 
     void
-    pop (unsigned n = 1)
+    pop (size_type n = 1)
     {
       for (; n; --n)
         seq_.pop_back ();
@@ -81,7 +82,7 @@ m4_define([b4_stack_define],
       seq_.clear ();
     }
 
-    typename S::size_type
+    size_type
     size () const
     {
       return seq_.size ();
@@ -111,20 +112,21 @@ m4_define([b4_stack_define],
   class slice
   {
   public:
-    slice (const S& stack, unsigned range)
+    typedef typename S::size_type size_type;
+    slice (const S& stack, size_type range)
       : stack_ (stack)
       , range_ (range)
     {}
 
     const T&
-    operator [] (unsigned i) const
+    operator[] (size_type i) const
     {
       return stack_[range_ - i];
     }
 
   private:
     const S& stack_;
-    unsigned range_;
+    size_type range_;
   };
 ]])
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]