]> git.saurik.com Git - bison.git/blobdiff - data/stack.hh
Merge remote-tracking branch 'origin/maint'
[bison.git] / data / stack.hh
index 529337740eb5398a9ef7b58d3ba89e6a919c9ac8..cea7b41a80100f3b2486c0deec1a0af19dab8ce6 100644 (file)
@@ -22,16 +22,14 @@ m4_pushdef([b4_copyright_years],
 m4_changecom()
 m4_divert_push(0)dnl
 @output(b4_dir_prefix[]stack.hh@)@
-b4_copyright([Stack handling for Bison parsers in C++],
-             [2002-2012])[
+b4_copyright([Stack handling for Bison parsers in C++])[
 
 /**
  ** \file ]b4_dir_prefix[stack.hh
  ** Define the ]b4_namespace_ref[::stack class.
  */
 
-#ifndef BISON_STACK_HH
-# define BISON_STACK_HH
+]b4_cpp_guard_open([b4_dir_prefix[]stack.hh])[
 
 # include <deque>
 
@@ -44,11 +42,13 @@ b4_copyright([Stack handling for Bison parsers in C++],
     typedef typename S::reverse_iterator iterator;
     typedef typename S::const_reverse_iterator const_iterator;
 
-    stack () : seq_ ()
+    stack ()
+      : seq_ ()
     {
     }
 
-    stack (unsigned int n) : seq_ (n)
+    stack (unsigned int n)
+      : seq_ (n)
     {
     }
 
@@ -82,16 +82,28 @@ b4_copyright([Stack handling for Bison parsers in C++],
     }
 
     inline
-    unsigned int
-    height () const
+    typename S::size_type
+    size () const
     {
       return seq_.size ();
     }
 
-    inline const_iterator begin () const { return seq_.rbegin (); }
-    inline const_iterator end () const { return seq_.rend (); }
+    inline
+    const_iterator
+    begin () const
+    {
+      return seq_.rbegin ();
+    }
+
+    inline
+    const_iterator
+    end () const
+    {
+      return seq_.rend ();
+    }
 
   private:
+    /// The wrapped container.
     S seq_;
   };
 
@@ -119,8 +131,7 @@ b4_copyright([Stack handling for Bison parsers in C++],
   };
 ]b4_namespace_close[
 
-#endif // not BISON_STACK_HH[]dnl
-]
+]b4_cpp_guard_close([b4_dir_prefix[]stack.hh])
 m4_divert_pop(0)
 m4_popdef([b4_copyright_years])dnl
 m4_changecom([#])