[PATCH 4/9] glr2.cc: move StrongIndexAlias into the namespace

Akim Demaille <[email protected]>
Newsgroups gmane.comp.parsers.bison.patches
Message-ID <[email protected]>
From: Valentin Tolmer <[email protected]>

* data/skeletons/glr2.cc: here.
---
 TODO                   |  4 ----
 data/skeletons/glr2.cc | 28 ++++++++++++++--------------
 2 files changed, 14 insertions(+), 18 deletions(-)

diff --git a/TODO b/TODO
index 56c0b80e..98849e7a 100644
--- a/TODO
+++ b/TODO
@@ -162,10 +162,6 @@ Line -1 and -3 should mention CATEGORIE, not CATEGORY.
 *** glr.c
 Get rid of scaffolding in glr.c.
 
-*** namespaces in glr2.cc
-StrongIndexAlias should be in the parser's namespace.  Possibly even an
-inner class.
-
 *** Coding style
 Move to our coding conventions.  In particular names such as yy_glr_stack,
 not yyGLRStack.
diff --git a/data/skeletons/glr2.cc b/data/skeletons/glr2.cc
index a5af6f4f..a0a17122 100644
--- a/data/skeletons/glr2.cc
+++ b/data/skeletons/glr2.cc
@@ -145,6 +145,19 @@ b4_percent_code_get([[requires]])[
 ]b4_cast_define[
 ]b4_null_define[
 
+// Whether we are compiled with exception support.
+#ifndef YY_EXCEPTIONS
+# if defined __GNUC__ && !defined __EXCEPTIONS
+#  define YY_EXCEPTIONS 0
+# else
+#  define YY_EXCEPTIONS 1
+# endif
+#endif
+
+]b4_YYDEBUG_define[
+
+]b4_namespace_open[
+
 template <typename Parameter>
 class StrongIndexAlias
 {
@@ -215,19 +228,6 @@ template<typename T>
 const std::ptrdiff_t StrongIndexAlias<T>::INVALID_INDEX =
   std::numeric_limits<std::ptrdiff_t>::max();
 
-// Whether we are compiled with exception support.
-#ifndef YY_EXCEPTIONS
-# if defined __GNUC__ && !defined __EXCEPTIONS
-#  define YY_EXCEPTIONS 0
-# else
-#  define YY_EXCEPTIONS 1
-# endif
-#endif
-
-]b4_YYDEBUG_define[
-
-]b4_namespace_open[
-
 ]b4_bison_locations_if([m4_ifndef([b4_location_file],
                                   [b4_location_define])])[
 
@@ -791,7 +791,7 @@ struct yySemanticOption;
 struct yyGLRStackItem;
 struct yyGLRStack;
 
-typedef StrongIndexAlias<struct yyGLRStateSetTag> yyStateSetIndex;
+typedef ]b4_namespace_ref[::StrongIndexAlias<struct yyGLRStateSetTag> yyStateSetIndex;
 
 yyStateSetIndex yycreateStateSetIndex(std::ptrdiff_t value) {
   return yyStateSetIndex::create(value);
-- 
2.28.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.