changeset 30166:bb7ac72c394e

maint: use "m_" prefix for member variables in classes scanf_format_list, printf_format_list, textscan_format_list. * oct-stream.cc: Use "m_" prefix for member variables in classes scanf_format_list, printf_format_list, textscan_format_list.
author Rik <rik@octave.org>
date Mon, 13 Sep 2021 17:10:48 -0700
parents 5933cf5415c4
children 964a937d556f
files libinterp/corefcn/oct-stream.cc
diffstat 1 files changed, 310 insertions(+), 284 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/oct-stream.cc	Mon Sep 13 16:35:21 2021 -0700
+++ b/libinterp/corefcn/oct-stream.cc	Mon Sep 13 17:10:48 2021 -0700
@@ -294,24 +294,24 @@
 
     ~scanf_format_list (void);
 
-    octave_idx_type num_conversions (void) { return nconv; }
+    octave_idx_type num_conversions (void) { return m_nconv; }
 
     // The length can be different than the number of conversions.
     // For example, "x %d y %d z" has 2 conversions but the length of
     // the list is 3 because of the characters that appear after the
     // last conversion.
 
-    std::size_t length (void) const { return fmt_elts.size (); }
+    std::size_t length (void) const { return m_fmt_elts.size (); }
 
     const scanf_format_elt * first (void)
     {
-      curr_idx = 0;
+      m_curr_idx = 0;
       return current ();
     }
 
     const scanf_format_elt * current (void) const
     {
-      return length () > 0 ? fmt_elts[curr_idx] : nullptr;
+      return length () > 0 ? m_fmt_elts[m_curr_idx] : nullptr;
     }
 
     const scanf_format_elt * next (bool cycle = true)
@@ -319,12 +319,12 @@
       static scanf_format_elt dummy
         ("", 0, false, scanf_format_elt::null, '\0', "");
 
-      curr_idx++;
-
-      if (curr_idx >= length ())
+      m_curr_idx++;
+
+      if (m_curr_idx >= length ())
         {
           if (cycle)
-            curr_idx = 0;
+            m_curr_idx = 0;
           else
             return &dummy;
         }
@@ -334,7 +334,7 @@
 
     void printme (void) const;
 
-    bool ok (void) const { return (nconv >= 0); }
+    bool ok (void) const { return (m_nconv >= 0); }
 
     operator bool () const { return ok (); }
 
@@ -344,19 +344,6 @@
 
   private:
 
-    // Number of conversions specified by this format string, or -1 if
-    // invalid conversions have been found.
-    octave_idx_type nconv;
-
-    // Index to current element;
-    std::size_t curr_idx;
-
-    // List of format elements.
-    std::deque<scanf_format_elt*> fmt_elts;
-
-    // Temporary buffer.
-    std::ostringstream buf;
-
     void add_elt_to_list (int width, bool discard, char type, char modifier,
                           const std::string& char_class = "");
 
@@ -367,10 +354,26 @@
     int finish_conversion (const std::string& s, std::size_t& i, std::size_t n,
                            int width, bool discard, char& type,
                            char modifier);
+
+    //--------
+
+    // Number of conversions specified by this format string, or -1 if
+    // invalid conversions have been found.
+    octave_idx_type m_nconv;
+
+    // Index to current element;
+    std::size_t m_curr_idx;
+
+    // List of format elements.
+    std::deque<scanf_format_elt*> m_fmt_elts;
+
+    // Temporary buffer.
+    std::ostringstream m_buf;
+
   };
 
   scanf_format_list::scanf_format_list (const std::string& s)
-    : nconv (0), curr_idx (0), fmt_elts (), buf ()
+    : m_nconv (0), m_curr_idx (0), m_fmt_elts (), m_buf ()
   {
     std::size_t n = s.length ();
 
@@ -393,7 +396,7 @@
 
             process_conversion (s, i, n, width, discard, type, modifier);
 
-            have_more = (buf.tellp () != 0);
+            have_more = (m_buf.tellp () != 0);
           }
         else if (isspace (s[i]))
           {
@@ -402,7 +405,7 @@
             width = 0;
             discard = false;
             modifier = '\0';
-            buf << ' ';
+            m_buf << ' ';
 
             while (++i < n && isspace (s[i]))
               ; // skip whitespace
@@ -420,14 +423,14 @@
             modifier = '\0';
 
             while (i < n && ! isspace (s[i]) && s[i] != '%')
-              buf << s[i++];
+              m_buf << s[i++];
 
             add_elt_to_list (width, discard, type, modifier);
 
             have_more = false;
           }
 
-        if (nconv < 0)
+        if (m_nconv < 0)
           {
             have_more = false;
             break;
@@ -437,17 +440,17 @@
     if (have_more)
       add_elt_to_list (width, discard, type, modifier);
 
-    buf.clear ();
-    buf.str ("");
+    m_buf.clear ();
+    m_buf.str ("");
   }
 
   scanf_format_list::~scanf_format_list (void)
   {
-    std::size_t n = fmt_elts.size ();
+    std::size_t n = m_fmt_elts.size ();
 
     for (std::size_t i = 0; i < n; i++)
       {
-        scanf_format_elt *elt = fmt_elts[i];
+        scanf_format_elt *elt = m_fmt_elts[i];
         delete elt;
       }
   }
@@ -457,7 +460,7 @@
                                       char modifier,
                                       const std::string& char_class)
   {
-    std::string text = buf.str ();
+    std::string text = m_buf.str ();
 
     if (! text.empty ())
       {
@@ -465,24 +468,25 @@
           = new scanf_format_elt (text, width, discard, type,
                                   modifier, char_class);
 
-        fmt_elts.push_back (elt);
-      }
-
-    buf.clear ();
-    buf.str ("");
+        m_fmt_elts.push_back (elt);
+      }
+
+    m_buf.clear ();
+    m_buf.str ("");
   }
 
   void
   scanf_format_list::process_conversion (const std::string& s, std::size_t& i,
-                                         std::size_t n, int& width, bool& discard,
-                                         char& type, char& modifier)
+                                         std::size_t n, int& width,
+                                         bool& discard, char& type,
+                                         char& modifier)
   {
     width = 0;
     discard = false;
     modifier = '\0';
     type = '\0';
 
-    buf << s[i++];
+    m_buf << s[i++];
 
     bool have_width = false;
 
@@ -492,36 +496,36 @@
           {
           case '*':
             if (discard)
-              nconv = -1;
+              m_nconv = -1;
             else
               {
                 discard = true;
-                buf << s[i++];
+                m_buf << s[i++];
               }
             break;
 
           case '0': case '1': case '2': case '3': case '4':
           case '5': case '6': case '7': case '8': case '9':
             if (have_width)
-              nconv = -1;
+              m_nconv = -1;
             else
               {
                 char c = s[i++];
                 width = 10 * width + c - '0';
                 have_width = true;
-                buf << c;
+                m_buf << c;
                 while (i < n && isdigit (s[i]))
                   {
                     c = s[i++];
                     width = 10 * width + c - '0';
-                    buf << c;
+                    m_buf << c;
                   }
               }
             break;
 
           case 'h': case 'l': case 'L':
             if (modifier != '\0')
-              nconv = -1;
+              m_nconv = -1;
             else
               modifier = s[i++];
             break;
@@ -531,7 +535,7 @@
           case 'X':
             if (modifier == 'L')
               {
-                nconv = -1;
+                m_nconv = -1;
                 break;
               }
             goto fini;
@@ -542,19 +546,19 @@
           case 'E': case 'G':
             if (modifier == 'h')
               {
-                nconv = -1;
+                m_nconv = -1;
                 break;
               }
 
             // No float or long double conversions, thanks.
-            buf << 'l';
+            m_buf << 'l';
 
             goto fini;
 
           case 'c': case 's': case 'p': case '%': case '[':
             if (modifier != '\0')
               {
-                nconv = -1;
+                m_nconv = -1;
                 break;
               }
             goto fini;
@@ -568,15 +572,15 @@
             break;
 
           default:
-            nconv = -1;
+            m_nconv = -1;
             break;
           }
 
-        if (nconv < 0)
+        if (m_nconv < 0)
           break;
       }
 
-    nconv = -1;
+    m_nconv = -1;
   }
 
   int
@@ -594,7 +598,7 @@
     if (s[i] == '%')
       {
         type = '%';
-        buf << s[i++];
+        m_buf << s[i++];
       }
     else
       {
@@ -602,7 +606,7 @@
 
         if (s[i] == '[')
           {
-            buf << s[i++];
+            m_buf << s[i++];
 
             if (i < n)
               {
@@ -611,39 +615,39 @@
                 if (s[i] == '^')
                   {
                     type = '^';
-                    buf << s[i++];
+                    m_buf << s[i++];
 
                     if (i < n)
                       {
                         beg_idx = i;
 
                         if (s[i] == ']')
-                          buf << s[i++];
+                          m_buf << s[i++];
                       }
                   }
                 else if (s[i] == ']')
-                  buf << s[i++];
+                  m_buf << s[i++];
               }
 
             while (i < n && s[i] != ']')
-              buf << s[i++];
+              m_buf << s[i++];
 
             if (i < n && s[i] == ']')
               {
                 end_idx = i-1;
-                buf << s[i++];
+                m_buf << s[i++];
               }
 
             if (s[i-1] != ']')
-              retval = nconv = -1;
+              retval = m_nconv = -1;
           }
         else
-          buf << s[i++];
-
-        nconv++;
-      }
-
-    if (nconv >= 0)
+          m_buf << s[i++];
+
+        m_nconv++;
+      }
+
+    if (m_nconv >= 0)
       {
         if (beg_idx != std::string::npos && end_idx != std::string::npos)
           char_class = expand_char_class (s.substr (beg_idx,
@@ -658,11 +662,11 @@
   void
   scanf_format_list::printme (void) const
   {
-    std::size_t n = fmt_elts.size ();
+    std::size_t n = m_fmt_elts.size ();
 
     for (std::size_t i = 0; i < n; i++)
       {
-        scanf_format_elt *elt = fmt_elts[i];
+        scanf_format_elt *elt = m_fmt_elts[i];
 
         std::cerr
           << "width:      " << elt->width << "\n"
@@ -686,13 +690,13 @@
   bool
   scanf_format_list::all_character_conversions (void)
   {
-    std::size_t n = fmt_elts.size ();
+    std::size_t n = m_fmt_elts.size ();
 
     if (n > 0)
       {
         for (std::size_t i = 0; i < n; i++)
           {
-            scanf_format_elt *elt = fmt_elts[i];
+            scanf_format_elt *elt = m_fmt_elts[i];
 
             switch (elt->type)
               {
@@ -716,13 +720,13 @@
   bool
   scanf_format_list::all_numeric_conversions (void)
   {
-    std::size_t n = fmt_elts.size ();
+    std::size_t n = m_fmt_elts.size ();
 
     if (n > 0)
       {
         for (std::size_t i = 0; i < n; i++)
           {
-            scanf_format_elt *elt = fmt_elts[i];
+            scanf_format_elt *elt = m_fmt_elts[i];
 
             switch (elt->type)
               {
@@ -798,29 +802,29 @@
 
     ~printf_format_list (void);
 
-    octave_idx_type num_conversions (void) { return nconv; }
+    octave_idx_type num_conversions (void) { return m_nconv; }
 
     const printf_format_elt * first (void)
     {
-      curr_idx = 0;
+      m_curr_idx = 0;
       return current ();
     }
 
     const printf_format_elt * current (void) const
     {
-      return length () > 0 ? fmt_elts[curr_idx] : nullptr;
+      return length () > 0 ? m_fmt_elts[m_curr_idx] : nullptr;
     }
 
-    std::size_t length (void) const { return fmt_elts.size (); }
+    std::size_t length (void) const { return m_fmt_elts.size (); }
 
     const printf_format_elt * next (bool cycle = true)
     {
-      curr_idx++;
-
-      if (curr_idx >= length ())
+      m_curr_idx++;
+
+      if (m_curr_idx >= length ())
         {
           if (cycle)
-            curr_idx = 0;
+            m_curr_idx = 0;
           else
             return nullptr;
         }
@@ -828,43 +832,47 @@
       return current ();
     }
 
-    bool last_elt_p (void) { return (curr_idx + 1 == length ()); }
+    bool last_elt_p (void) { return (m_curr_idx + 1 == length ()); }
 
     void printme (void) const;
 
-    bool ok (void) const { return (nconv >= 0); }
+    bool ok (void) const { return (m_nconv >= 0); }
 
     operator bool () const { return ok (); }
 
   private:
 
-    // Number of conversions specified by this format string, or -1 if
-    // invalid conversions have been found.
-    octave_idx_type nconv;
-
-    // Index to current element;
-    std::size_t curr_idx;
-
-    // List of format elements.
-    std::deque<printf_format_elt*> fmt_elts;
-
-    // Temporary buffer.
-    std::ostringstream buf;
-
     void add_elt_to_list (int args, const std::string& flags, int fw,
                           int prec, char type, char modifier);
 
-    void process_conversion (const std::string& s, std::size_t& i, std::size_t n,
+    void process_conversion (const std::string& s, std::size_t& i,
+                             std::size_t n,
                              int& args, std::string& flags, int& fw,
                              int& prec, char& modifier, char& type);
 
     void finish_conversion (const std::string& s, std::size_t& i, int args,
                             const std::string& flags, int fw, int prec,
                             char modifier, char& type);
+
+    //--------
+
+    // Number of conversions specified by this format string, or -1 if
+    // invalid conversions have been found.
+    octave_idx_type m_nconv;
+
+    // Index to current element;
+    std::size_t m_curr_idx;
+
+    // List of format elements.
+    std::deque<printf_format_elt*> m_fmt_elts;
+
+    // Temporary buffer.
+    std::ostringstream m_buf;
+
   };
 
   printf_format_list::printf_format_list (const std::string& s)
-    : nconv (0), curr_idx (0), fmt_elts (), buf ()
+    : m_nconv (0), m_curr_idx (0), m_fmt_elts (), m_buf ()
   {
     std::size_t n = s.length ();
 
@@ -885,7 +893,7 @@
         printf_format_elt *elt
           = new printf_format_elt ("", args, fw, prec, flags, type, modifier);
 
-        fmt_elts.push_back (elt);
+        m_fmt_elts.push_back (elt);
       }
     else
       {
@@ -893,7 +901,7 @@
           {
             have_more = true;
 
-            empty_buf = (buf.tellp () == 0);
+            empty_buf = (m_buf.tellp () == 0);
 
             switch (s[i])
               {
@@ -910,7 +918,7 @@
                       // don't need to call add_elt_to_list if this is our
                       // last trip through the loop.
 
-                      have_more = (buf.tellp () != 0);
+                      have_more = (m_buf.tellp () != 0);
                     }
                   else
                     add_elt_to_list (args, flags, fw, prec, type, modifier);
@@ -925,12 +933,12 @@
                   prec = -1;
                   modifier = '\0';
                   type = '\0';
-                  buf << s[i++];
+                  m_buf << s[i++];
                 }
                 break;
               }
 
-            if (nconv < 0)
+            if (m_nconv < 0)
               {
                 have_more = false;
                 break;
@@ -940,18 +948,18 @@
         if (have_more)
           add_elt_to_list (args, flags, fw, prec, type, modifier);
 
-        buf.clear ();
-        buf.str ("");
+        m_buf.clear ();
+        m_buf.str ("");
       }
   }
 
   printf_format_list::~printf_format_list (void)
   {
-    std::size_t n = fmt_elts.size ();
+    std::size_t n = m_fmt_elts.size ();
 
     for (std::size_t i = 0; i < n; i++)
       {
-        printf_format_elt *elt = fmt_elts[i];
+        printf_format_elt *elt = m_fmt_elts[i];
         delete elt;
       }
   }
@@ -961,7 +969,7 @@
                                        int fw, int prec, char type,
                                        char modifier)
   {
-    std::string text = buf.str ();
+    std::string text = m_buf.str ();
 
     if (! text.empty ())
       {
@@ -969,11 +977,11 @@
           = new printf_format_elt (text, args, fw, prec, flags,
                                    type, modifier);
 
-        fmt_elts.push_back (elt);
-      }
-
-    buf.clear ();
-    buf.str ("");
+        m_fmt_elts.push_back (elt);
+      }
+
+    m_buf.clear ();
+    m_buf.str ("");
   }
 
   void
@@ -990,7 +998,7 @@
     modifier = '\0';
     type = '\0';
 
-    buf << s[i++];
+    m_buf << s[i++];
 
     bool nxt = false;
 
@@ -1000,7 +1008,7 @@
           {
           case '-': case '+': case ' ': case '0': case '#':
             flags += s[i];
-            buf << s[i++];
+            m_buf << s[i++];
             break;
 
           default:
@@ -1018,7 +1026,7 @@
           {
             fw = -2;
             args++;
-            buf << s[i++];
+            m_buf << s[i++];
           }
         else
           {
@@ -1030,7 +1038,7 @@
               }
 
             while (i < n && isdigit (s[i]))
-              buf << s[i++];
+              m_buf << s[i++];
           }
       }
 
@@ -1043,7 +1051,7 @@
         // . followed by nothing is 0.
         prec = 0;
 
-        buf << s[i++];
+        m_buf << s[i++];
 
         if (i < n)
           {
@@ -1051,7 +1059,7 @@
               {
                 prec = -2;
                 args++;
-                buf << s[i++];
+                m_buf << s[i++];
               }
             else
               {
@@ -1063,7 +1071,7 @@
                   }
 
                 while (i < n && isdigit (s[i]))
-                  buf << s[i++];
+                  m_buf << s[i++];
               }
           }
       }
@@ -1088,7 +1096,7 @@
     if (i < n)
       finish_conversion (s, i, args, flags, fw, prec, modifier, type);
     else
-      nconv = -1;
+      m_nconv = -1;
   }
 
   void
@@ -1103,7 +1111,7 @@
       case 'u': case 'c':
         if (modifier == 'L')
           {
-            nconv = -1;
+            m_nconv = -1;
             break;
           }
         goto fini;
@@ -1111,7 +1119,7 @@
       case 'f': case 'e': case 'E': case 'g': case 'G':
         if (modifier == 'h' || modifier == 'l')
           {
-            nconv = -1;
+            m_nconv = -1;
             break;
           }
         goto fini;
@@ -1119,7 +1127,7 @@
       case 's': case 'p': case '%':
         if (modifier != '\0')
           {
-            nconv = -1;
+            m_nconv = -1;
             break;
           }
         goto fini;
@@ -1128,10 +1136,10 @@
 
         type = s[i];
 
-        buf << s[i++];
+        m_buf << s[i++];
 
         if (type != '%' || args != 0)
-          nconv++;
+          m_nconv++;
 
         if (type != '%')
           args++;
@@ -1141,7 +1149,7 @@
         break;
 
       default:
-        nconv = -1;
+        m_nconv = -1;
         break;
       }
   }
@@ -1149,11 +1157,11 @@
   void
   printf_format_list::printme (void) const
   {
-    std::size_t n = fmt_elts.size ();
+    std::size_t n = m_fmt_elts.size ();
 
     for (std::size_t i = 0; i < n; i++)
       {
-        printf_format_elt *elt = fmt_elts[i];
+        printf_format_elt *elt = m_fmt_elts[i];
 
         std::cerr
           << "args:     " << elt->args << "\n"
@@ -1255,7 +1263,8 @@
     // FIXME: This will not set EOF if delimited stream is at EOF and a peek
     // is attempted.  This does *NOT* behave like C++ input stream.
     // For a compatible peek function, use peek_undelim.  See bug #56917.
-    int peek (void) { return eof () ? std::istream::traits_type::eof () : *idx; }
+    int peek (void)
+    { return eof () ? std::istream::traits_type::eof () : *idx; }
 
     // Read character that will be got by the next get.
     int peek_undelim (void);
@@ -1280,10 +1289,12 @@
 
     bool eof (void)
     {
-      return (eob == buf && i_stream.eof ()) || (flags & std::ios_base::eofbit);
+      return (eob == m_buf && i_stream.eof ())
+              || (flags & std::ios_base::eofbit);
     }
 
-    operator const void* (void) { return (! eof () && ! flags) ? this : nullptr; }
+    operator const void* (void)
+    { return (! eof () && ! flags) ? this : nullptr; }
 
     bool fail (void) { return flags & std::ios_base::failbit; }
 
@@ -1313,7 +1324,7 @@
     std::istream& i_stream;
 
     // Temporary storage for a "chunk" of data.
-    char *buf;
+    char *m_buf;
 
     // Current read pointer.
     char *idx;
@@ -1355,8 +1366,8 @@
       delims (delimiters),
       flags (std::ios::failbit & ~std::ios::failbit) // can't cast 0
   {
-    buf = new char[bufsize];
-    eob = buf + bufsize;
+    m_buf = new char[bufsize];
+    eob = m_buf + bufsize;
     idx = eob;                    // refresh_buf shouldn't try to copy old data
     progress_marker = idx;
     refresh_buf ();               // load the first batch of data
@@ -1375,10 +1386,10 @@
       {
         i_stream.clear ();
         i_stream.seekg (buf_in_file);
-        i_stream.read (buf, idx - buf);
-      }
-
-    delete [] buf;
+        i_stream.read (m_buf, idx - m_buf);
+      }
+
+    delete [] m_buf;
   }
 
   // Read a character from the buffer, refilling the buffer from the file
@@ -1449,31 +1460,31 @@
 
     if (old_remaining > 0)
       {
-        buf_in_file += (idx - buf);
-        memmove (buf, idx, old_remaining);
+        buf_in_file += (idx - m_buf);
+        memmove (m_buf, idx, old_remaining);
       }
     else
       buf_in_file = i_stream.tellg ();    // record for destructor
 
-    progress_marker -= idx - buf;         // where original idx would have been
-    idx = buf;
+    progress_marker -= idx - m_buf;       // where original idx would have been
+    idx = m_buf;
 
     int gcount;   // chars read
     if (! i_stream.eof ())
       {
-        i_stream.read (buf + old_remaining, bufsize - old_remaining);
+        i_stream.read (m_buf + old_remaining, bufsize - old_remaining);
         gcount = i_stream.gcount ();
       }
     else
       gcount = 0;
 
-    eob = buf + old_remaining + gcount;
+    eob = m_buf + old_remaining + gcount;
     last = eob;
     if (gcount == 0)
       {
         delimited = false;
 
-        if (eob != buf)              // no more data in file, but still some to go
+        if (eob != m_buf)   // no more data in file, but still some to go
           retval = 0;
         else
           // file and buffer are both done.
@@ -1483,13 +1494,13 @@
       {
         delimited = true;
 
-        for (last = eob - longest; last - buf >= 0; last--)
+        for (last = eob - longest; last - m_buf >= 0; last--)
           {
             if (delims.find (*last) != std::string::npos)
               break;
           }
 
-        if (last < buf)
+        if (last < m_buf)
           delimited = false;
 
         retval = 0;
@@ -1539,7 +1550,7 @@
             refresh_buf ();
           }
 
-        prior_tell = buf;
+        prior_tell = m_buf;
 
         if (eob - idx > size)
           {
@@ -1553,7 +1564,7 @@
             if (size <= bufsize)          // small read, but reached EOF
               {
                 retval = idx;
-                memset (eob, 0, size + (idx - buf));
+                memset (eob, 0, size + (idx - m_buf));
                 idx += size;
               }
             else  // Reading more than the whole buf; return it in buffer
@@ -1688,34 +1699,34 @@
 
     ~textscan_format_list (void);
 
-    octave_idx_type num_conversions (void) const { return nconv; }
+    octave_idx_type num_conversions (void) const { return m_nconv; }
 
     // The length can be different than the number of conversions.
     // For example, "x %d y %d z" has 2 conversions but the length of
     // the list is 3 because of the characters that appear after the
     // last conversion.
 
-    std::size_t numel (void) const { return fmt_elts.size (); }
+    std::size_t numel (void) const { return m_fmt_elts.size (); }
 
     const textscan_format_elt * first (void)
     {
-      curr_idx = 0;
+      m_curr_idx = 0;
       return current ();
     }
 
     const textscan_format_elt * current (void) const
     {
-      return numel () > 0 ? fmt_elts[curr_idx] : nullptr;
+      return numel () > 0 ? m_fmt_elts[m_curr_idx] : nullptr;
     }
 
     const textscan_format_elt * next (bool cycle = true)
     {
-      curr_idx++;
-
-      if (curr_idx >= numel ())
+      m_curr_idx++;
+
+      if (m_curr_idx >= numel ())
         {
           if (cycle)
-            curr_idx = 0;
+            m_curr_idx = 0;
           else
             return nullptr;
         }
@@ -1725,7 +1736,7 @@
 
     void printme (void) const;
 
-    bool ok (void) const { return (nconv >= 0); }
+    bool ok (void) const { return (m_nconv >= 0); }
 
     operator const void* (void) const { return ok () ? this : nullptr; }
 
@@ -1740,32 +1751,17 @@
 
     int read_first_row (delimited_stream& is, textscan& ts);
 
-    std::list<octave_value> out_buf (void) const { return (output_container); }
+    std::list<octave_value> out_buf (void) const { return (m_output_container); }
 
   private:
 
-    // Number of conversions specified by this format string, or -1 if
-    // invalid conversions have been found.
-    octave_idx_type nconv;
-
-    // Index to current element;
-    std::size_t curr_idx;
-
-    // List of format elements.
-    std::deque<textscan_format_elt*> fmt_elts;
-
-    // list holding column arrays of types specified by conversions
-    std::list<octave_value> output_container;
-
-    // Temporary buffer.
-    std::ostringstream buf;
-
     void add_elt_to_list (unsigned int width, int prec, int bitwidth,
                           octave_value val_type, bool discard,
                           char type,
                           const std::string& char_class = std::string ());
 
-    void process_conversion (const std::string& s, std::size_t& i, std::size_t n);
+    void process_conversion (const std::string& s, std::size_t& i,
+                             std::size_t n);
 
     std::string parse_char_class (const std::string& pattern) const;
 
@@ -1773,6 +1769,25 @@
                            unsigned int width, int prec, int bitwidth,
                            octave_value& val_type,
                            bool discard, char& type);
+
+    //--------
+
+    // Number of conversions specified by this format string, or -1 if
+    // invalid conversions have been found.
+    octave_idx_type m_nconv;
+
+    // Index to current element;
+    std::size_t m_curr_idx;
+
+    // List of format elements.
+    std::deque<textscan_format_elt*> m_fmt_elts;
+
+    // list holding column arrays of types specified by conversions
+    std::list<octave_value> m_output_container;
+
+    // Temporary buffer.
+    std::ostringstream m_buf;
+
   };
 
   // Main class to implement textscan.  Read data and parse it
@@ -1814,7 +1829,7 @@
 
     std::string m_encoding;
 
-    std::string buf;
+    std::string m_buf;
 
     // Three cases for delim_table and delim_list
     // 1. delim_table empty, delim_list empty:  whitespace delimiters
@@ -1920,11 +1935,13 @@
 
     bool is_delim (unsigned char ch) const
     {
-      return ((delim_table.empty () && (isspace (ch) || ch == eol1 || ch == eol2))
+      return ((delim_table.empty ()
+               && (isspace (ch) || ch == eol1 || ch == eol2))
               || delim_table[ch] != '\0');
     }
 
-    bool isspace (unsigned int ch) const { return whitespace_table[ch & 0xff]; }
+    bool isspace (unsigned int ch) const
+    { return whitespace_table[ch & 0xff]; }
 
     // True if the only delimiter is whitespace.
     bool whitespace_delim (void) const { return delim_table.empty (); }
@@ -1933,13 +1950,13 @@
   textscan_format_list::textscan_format_list (const std::string& s,
                                               const std::string& who_arg)
     : who (who_arg), set_from_first (false), has_string (false),
-      nconv (0), curr_idx (0), fmt_elts (), buf ()
+      m_nconv (0), m_curr_idx (0), m_fmt_elts (), m_buf ()
   {
     std::size_t n = s.length ();
 
     std::size_t i = 0;
 
-    unsigned int width = -1;              // Unspecified width = max (except %c)
+    unsigned int width = -1;    // Unspecified width = max (except %c)
     int prec = -1;
     int bitwidth = 0;
     bool discard = false;
@@ -1949,10 +1966,10 @@
 
     if (s.empty ())
       {
-        buf.clear ();
-        buf.str ("");
-
-        buf << "%f";
+        m_buf.clear ();
+        m_buf.str ("");
+
+        m_buf << "%f";
 
         bitwidth = 64;
         type = 'f';
@@ -1960,7 +1977,7 @@
                          discard, type);
         have_more = false;
         set_from_first = true;
-        nconv = 1;
+        m_nconv = 1;
       }
     else
       {
@@ -1982,7 +1999,7 @@
                 // add_elt_to_list if this is our last trip through the
                 // loop.
 
-                have_more = (buf.tellp () != 0);
+                have_more = (m_buf.tellp () != 0);
               }
             else if (isspace (s[i]))
               {
@@ -2005,7 +2022,7 @@
                   {
                     if (s[i] == '%')      // if double %, skip one
                       i++;
-                    buf << s[i++];
+                    m_buf << s[i++];
                     width++;
                   }
 
@@ -2015,7 +2032,7 @@
                 have_more = false;
               }
 
-            if (nconv < 0)
+            if (m_nconv < 0)
               {
                 have_more = false;
                 break;
@@ -2026,8 +2043,8 @@
     if (have_more)
       add_elt_to_list (width, prec, bitwidth, octave_value (), discard, type);
 
-    buf.clear ();
-    buf.str ("");
+    m_buf.clear ();
+    m_buf.str ("");
   }
 
   textscan_format_list::~textscan_format_list (void)
@@ -2036,7 +2053,7 @@
 
     for (std::size_t i = 0; i < n; i++)
       {
-        textscan_format_elt *elt = fmt_elts[i];
+        textscan_format_elt *elt = m_fmt_elts[i];
         delete elt;
       }
   }
@@ -2047,27 +2064,27 @@
                                          bool discard, char type,
                                          const std::string& char_class)
   {
-    std::string text = buf.str ();
+    std::string text = m_buf.str ();
 
     if (! text.empty ())
       {
         textscan_format_elt *elt
-          = new textscan_format_elt (text, width, prec, bitwidth, discard, type,
-                                     char_class);
+          = new textscan_format_elt (text, width, prec, bitwidth, discard,
+                                     type, char_class);
 
         if (! discard)
-          output_container.push_back (val_type);
-
-        fmt_elts.push_back (elt);
-      }
-
-    buf.clear ();
-    buf.str ("");
+          m_output_container.push_back (val_type);
+
+        m_fmt_elts.push_back (elt);
+      }
+
+    m_buf.clear ();
+    m_buf.str ("");
   }
 
   void
-  textscan_format_list::process_conversion (const std::string& s, std::size_t& i,
-                                            std::size_t n)
+  textscan_format_list::process_conversion (const std::string& s,
+                                            std::size_t& i, std::size_t n)
   {
     unsigned width = 0;
     int prec = -1;
@@ -2076,7 +2093,7 @@
     octave_value val_type;
     char type = '\0';
 
-    buf << s[i++];
+    m_buf << s[i++];
 
     bool have_width = false;
 
@@ -2086,40 +2103,40 @@
           {
           case '*':
             if (discard)
-              nconv = -1;
+              m_nconv = -1;
             else
               {
                 discard = true;
-                buf << s[i++];
+                m_buf << s[i++];
               }
             break;
 
           case '0': case '1': case '2': case '3': case '4':
           case '5': case '6': case '7': case '8': case '9':
             if (have_width)
-              nconv = -1;
+              m_nconv = -1;
             else
               {
                 char c = s[i++];
                 width = width * 10 + c - '0';
                 have_width = true;
-                buf << c;
+                m_buf << c;
                 while (i < n && isdigit (s[i]))
                   {
                     c = s[i++];
                     width = width * 10 + c - '0';
-                    buf << c;
+                    m_buf << c;
                   }
 
                 if (i < n && s[i] == '.')
                   {
-                    buf << s[i++];
+                    m_buf << s[i++];
                     prec = 0;
                     while (i < n && isdigit (s[i]))
                       {
                         c = s[i++];
                         prec = prec * 10 + c - '0';
-                        buf << c;
+                        m_buf << c;
                       }
                   }
               }
@@ -2128,7 +2145,7 @@
           case 'd': case 'u':
             {
               bool done = true;
-              buf << (type = s[i++]);
+              m_buf << (type = s[i++]);
               if (i < n)
                 {
                   if (s[i] == '8')
@@ -2138,7 +2155,7 @@
                         val_type = octave_value (int8NDArray ());
                       else
                         val_type = octave_value (uint8NDArray ());
-                      buf << s[i++];
+                      m_buf << s[i++];
                     }
                   else if (s[i] == '1' && i+1 < n && s[i+1] == '6')
                     {
@@ -2147,14 +2164,14 @@
                         val_type = octave_value (int16NDArray ());
                       else
                         val_type = octave_value (uint16NDArray ());
-                      buf << s[i++];
-                      buf << s[i++];
+                      m_buf << s[i++];
+                      m_buf << s[i++];
                     }
                   else if (s[i] == '3' && i+1 < n && s[i+1] == '2')
                     {
                       done = false;       // use default size below
-                      buf << s[i++];
-                      buf << s[i++];
+                      m_buf << s[i++];
+                      m_buf << s[i++];
                     }
                   else if (s[i] == '6' && i+1 < n && s[i+1] == '4')
                     {
@@ -2163,8 +2180,8 @@
                         val_type = octave_value (int64NDArray ());
                       else
                         val_type = octave_value (uint64NDArray ());
-                      buf << s[i++];
-                      buf << s[i++];
+                      m_buf << s[i++];
+                      m_buf << s[i++];
                     }
                   else
                     done = false;
@@ -2184,7 +2201,7 @@
             }
 
           case 'f':
-            buf << (type = s[i++]);
+            m_buf << (type = s[i++]);
             bitwidth = 64;
             if (i < n)
               {
@@ -2192,14 +2209,14 @@
                   {
                     bitwidth = 32;
                     val_type = octave_value (FloatNDArray ());
-                    buf << s[i++];
-                    buf << s[i++];
+                    m_buf << s[i++];
+                    m_buf << s[i++];
                   }
                 else if (s[i] == '6' && i+1 < n && s[i+1] == '4')
                   {
                     val_type = octave_value (NDArray ());
-                    buf << s[i++];
-                    buf << s[i++];
+                    m_buf << s[i++];
+                    m_buf << s[i++];
                   }
                 else
                   val_type = octave_value (NDArray ());
@@ -2209,7 +2226,7 @@
             goto fini;
 
           case 'n':
-            buf << (type = s[i++]);
+            m_buf << (type = s[i++]);
             bitwidth = 64;
             val_type = octave_value (NDArray ());
             goto fini;
@@ -2217,7 +2234,7 @@
           case 's': case 'q': case '[': case 'c':
             if (! discard)
               val_type = octave_value (Cell ());
-            buf << (type = s[i++]);
+            m_buf << (type = s[i++]);
             has_string = true;
             goto fini;
 
@@ -2242,11 +2259,11 @@
                    who.c_str (), s[i]);
           }
 
-        if (nconv < 0)
+        if (m_nconv < 0)
           break;
       }
 
-    nconv = -1;
+    m_nconv = -1;
   }
 
   // Parse [...] and [^...]
@@ -2364,7 +2381,7 @@
 
     if (type != '%')
       {
-        nconv++;
+        m_nconv++;
         if (type == '[')
           {
             if (i < n)
@@ -2374,35 +2391,35 @@
                 if (s[i] == '^')
                   {
                     type = '^';
-                    buf << s[i++];
+                    m_buf << s[i++];
 
                     if (i < n)
                       {
                         beg_idx = i;
 
                         if (s[i] == ']')
-                          buf << s[i++];
+                          m_buf << s[i++];
                       }
                   }
                 else if (s[i] == ']')
-                  buf << s[i++];
+                  m_buf << s[i++];
               }
 
             while (i < n && s[i] != ']')
-              buf << s[i++];
+              m_buf << s[i++];
 
             if (i < n && s[i] == ']')
               {
                 end_idx = i-1;
-                buf << s[i++];
+                m_buf << s[i++];
               }
 
             if (s[i-1] != ']')
-              retval = nconv = -1;
+              retval = m_nconv = -1;
           }
       }
 
-    if (nconv >= 0)
+    if (m_nconv >= 0)
       {
         if (beg_idx != std::string::npos && end_idx != std::string::npos)
           char_class = parse_char_class (s.substr (beg_idx,
@@ -2422,7 +2439,7 @@
 
     for (std::size_t i = 0; i < n; i++)
       {
-        textscan_format_elt *elt = fmt_elts[i];
+        textscan_format_elt *elt = m_fmt_elts[i];
 
         std::cerr
           << "width:      " << elt->width << "\n"
@@ -2464,7 +2481,7 @@
     dim_vector dv (1,1);      // initial size of each output_container
     Complex val;
     octave_value val_type;
-    nconv = 0;
+    m_nconv = 0;
     int max_empty = 1000;     // failsafe, if ds fails but not with eof
     int retval = 0;
 
@@ -2474,7 +2491,7 @@
         bool already_skipped_delim = false;
         ts.skip_whitespace (ds, false);
         ds.progress_benchmark ();
-        ts.scan_complex (ds, *fmt_elts[0], val);
+        ts.scan_complex (ds, *m_fmt_elts[0], val);
         if (ds.fail ())
           {
             ds.clear (ds.rdstate () & ~std::ios::failbit);
@@ -2503,7 +2520,7 @@
         else
           val_type = octave_value (ComplexNDArray (dv, val));
 
-        output_container.push_back (val_type);
+        m_output_container.push_back (val_type);
 
         if (! already_skipped_delim)
           ts.skip_delim (ds);
@@ -2511,20 +2528,20 @@
         if (ds.no_progress ())
           break;
 
-        nconv++;
-      }
-
-    output_container.pop_front (); // discard empty element from constructor
+        m_nconv++;
+      }
+
+    m_output_container.pop_front (); // discard empty element from constructor
 
     // Create fmt_list now that the size is known
-    for (octave_idx_type i = 1; i < nconv; i++)
-      fmt_elts.push_back (new textscan_format_elt (*fmt_elts[0]));
+    for (octave_idx_type i = 1; i < m_nconv; i++)
+      m_fmt_elts.push_back (new textscan_format_elt (*m_fmt_elts[0]));
 
     return retval;             // May have returned 4 above.
   }
 
   textscan::textscan (const std::string& who_arg, const std::string& encoding)
-    : who (who_arg), m_encoding (encoding), buf (), whitespace_table (),
+    : who (who_arg), m_encoding (encoding), m_buf (), whitespace_table (),
       delim_table (), delims (), comment_style (), comment_len (0),
       comment_char (-2), buffer_size (0), date_locale (),
       inf_nan (init_inf_nan ()), empty_value (numeric_limits<double>::NaN ()),
@@ -2883,7 +2900,7 @@
     // Check for +/- inf and NaN
     if (! valid && width_left >= 3)
       {
-        int i = lookahead (is, inf_nan, 3, false);   // false -> case insensitive
+        int i = lookahead (is, inf_nan, 3, false);  // false -> case insensitive
         if (i == 0)
           {
             retval = numeric_limits<double>::Inf ();
@@ -2914,7 +2931,7 @@
   {
     double im = 0;
     double re = 0;
-    bool as_empty = false;   // did we fail but match a "treat_as_empty" string?
+    bool as_empty = false;  // did we fail but match a "treat_as_empty" string?
     bool inf = false;
 
     int ch = is.peek ();
@@ -2971,16 +2988,16 @@
               {
                 if (ch == treat_as_empty (i).string_value ()[0])
                   {
-                    as_empty = true;   // first char matches, so read the lot
+                    as_empty = true;  // first char matches, so read the lot
                     break;
                   }
               }
-            if (as_empty)              // if first char matched...
+            if (as_empty)             // if first char matched...
               {
-                as_empty = false;      // ...look for the whole string
-
-                is.clear (state);      // treat_as_empty "-" causes partial read
-                is.seekg (pos);        // reset to position before failed read
+                as_empty = false;     // ...look for the whole string
+
+                is.clear (state);     // treat_as_empty "-" causes partial read
+                is.seekg (pos);       // reset to position before failed read
 
                 // treat_as_empty strings may be different sizes.
                 // Read ahead longest, put it all back, then re-read the string
@@ -3773,7 +3790,8 @@
       {
         found_comment = false;
         int prev = -1;
-        while (is && (c1 = is.get_undelim ()) != std::istream::traits_type::eof ()
+        while (is
+               && (c1 = is.get_undelim ()) != std::istream::traits_type::eof ()
                && ( ( (c1 == eol1 || c1 == eol2) && ++lines && ! EOLstop)
                     || isspace (c1)))
           {
@@ -3805,7 +3823,8 @@
 
                     scan_caret (is, eol, dummy);
                     c1 = is.get_undelim ();
-                    if (c1 == eol1 && eol1 != eol2 && is.peek_undelim () == eol2)
+                    if (c1 == eol1 && eol1 != eol2
+                        && is.peek_undelim () == eol2)
                       is.get_undelim ();
                     lines++;
                   }
@@ -3824,7 +3843,8 @@
                         may_match = may_match + dummy + last;
                         if (may_match.length () > end_c.length ())
                           {
-                            std::size_t start = may_match.length () - end_c.length ();
+                            std::size_t start = may_match.length ()
+                                                - end_c.length ();
                             may_match = may_match.substr (start);
                           }
                       }
@@ -3904,7 +3924,8 @@
               {
                 int prev = -1;
                 // skip multiple delims.
-                // Increment lines for each end-of-line seen; for \r\n, decrement
+                // Increment lines for each end-of-line seen;
+                // Decrement for \r\n
                 while (is && ((c1 = is.get_undelim ())
                               != std::istream::traits_type::eof ())
                        && (((c1 == eol1 || c1 == eol2) && ++lines)
@@ -3941,7 +3962,8 @@
               {
                 int prev = -1;
                 // skip multiple delims.
-                // Increment lines for each end-of-line seen; for \r\n, decrement
+                // Increment lines for each end-of-line seen;
+                // decrement for \r\n.
                 while (is && ((c1 = skip_whitespace (is))
                               != std::istream::traits_type::eof ())
                        && (((c1 == eol1 || c1 == eol2) && ++lines)
@@ -3963,7 +3985,8 @@
   // false (and set failbit).
 
   bool
-  textscan::match_literal (delimited_stream& is, const textscan_format_elt& fmt)
+  textscan::match_literal (delimited_stream& is,
+                           const textscan_format_elt& fmt)
   {
     // "false" -> treat EOL as normal space
     // since a delimiter at the start of a line is a mismatch, not empty field
@@ -4428,7 +4451,8 @@
       int n = fmt.length ();                                            \
       int i = 0;                                                        \
                                                                         \
-      while (i < n && is && (c = is.get ()) != std::istream::traits_type::eof ()) \
+      while (i < n && is                                                \
+             && (c = is.get ()) != std::istream::traits_type::eof ())   \
         {                                                               \
           if (c == static_cast<unsigned char> (fmt[i]))                 \
             {                                                           \
@@ -4645,7 +4669,7 @@
 
     conversion_count = 0;
 
-    octave_idx_type nconv = fmt_list.num_conversions ();
+    octave_idx_type m_nconv = fmt_list.num_conversions ();
 
     octave_idx_type data_index = 0;
 
@@ -4745,11 +4769,11 @@
                            || elt->type == '%')
                         && max_conv > 0 && conversion_count == max_conv))
                   {
-                    // We are done, either because we have reached the end of the
-                    // format string and are not cycling through the format again
-                    // or because we've converted all the values that have been
-                    // requested and the next format element is a conversion.
-                    // Determine final array size and exit.
+                    // We are done, either because we have reached the end of
+                    // the format string and are not cycling through the format
+                    // again or because we've converted all the values that
+                    // have been requested and the next format element is a
+                    // conversion.  Determine final array size and exit.
                     if (all_char_conv && one_elt_size_spec)
                       {
                         final_nr = 1;
@@ -4988,7 +5012,7 @@
                 break;
               }
 
-            if (nconv == 0 && ++trips == num_fmt_elts)
+            if (m_nconv == 0 && ++trips == num_fmt_elts)
               {
                 if (all_char_conv && one_elt_size_spec)
                   {
@@ -5009,7 +5033,7 @@
                 // conversions to make and we haven't reached the limit on the
                 // number of values to convert (possibly because there is no
                 // specified limit).
-                elt = fmt_list.next (nconv > 0
+                elt = fmt_list.next (m_nconv > 0
                                      && (max_conv == 0
                                          || conversion_count < max_conv));
               }
@@ -5291,16 +5315,16 @@
 
         scanf_format_list fmt_list (fmt);
 
-        octave_idx_type nconv = fmt_list.num_conversions ();
-
-        if (nconv == -1)
+        octave_idx_type m_nconv = fmt_list.num_conversions ();
+
+        if (m_nconv == -1)
           ::error ("%s: invalid format specified", who.c_str ());
 
         is.clear ();
 
         octave_idx_type len = fmt_list.length ();
 
-        retval.resize (nconv+2, Matrix ());
+        retval.resize (m_nconv+2, Matrix ());
 
         const scanf_format_elt *elt = fmt_list.first ();
 
@@ -5324,19 +5348,19 @@
                 if (! ok ())
                   break;
 
-                elt = fmt_list.next (nconv > 0);
+                elt = fmt_list.next (m_nconv > 0);
               }
           }
 
-        retval(nconv) = num_values;
+        retval(m_nconv) = num_values;
 
         int err_num;
-        retval(nconv+1) = error (false, err_num);
+        retval(m_nconv+1) = error (false, err_num);
 
         if (! quit)
           {
             // Pick up any trailing stuff.
-            if (ok () && len > nconv)
+            if (ok () && len > m_nconv)
               {
                 octave_value tmp;
 
@@ -5508,7 +5532,8 @@
                       {
                         double dval = val(idx);
 
-                        if (math::x_nint (dval) != dval || dval < 0 || dval > 255)
+                        if (math::x_nint (dval) != dval
+                            || dval < 0 || dval > 255)
                           break;
                       }
 
@@ -5865,7 +5890,7 @@
   {
     int retval = 0;
 
-    octave_idx_type nconv = fmt_list.num_conversions ();
+    octave_idx_type m_nconv = fmt_list.num_conversions ();
 
     std::ostream *osp = output_stream ();
 
@@ -5975,7 +6000,7 @@
                 break;
               }
 
-            elt = fmt_list.next (nconv > 0 && ! val_cache.exhausted ());
+            elt = fmt_list.next (m_nconv > 0 && ! val_cache.exhausted ());
 
             if (! elt || (val_cache.exhausted () && elt->args > 0))
               break;
@@ -6171,7 +6196,8 @@
             if (conv_err || count < 0)
               {
                 err = true;
-                ::error ("%s: invalid number of lines specified", who.c_str ());
+                ::error ("%s: invalid number of lines specified",
+                         who.c_str ());
               }
           }
       }