diff liboctave/util/pathsearch.h @ 21867:0cdfd6d230e6

use std::list<std::string> instead of string_vector in pathsearch functions * kpse.cc, pathsearch.cc, pathsearch.h: Use std::list<std::string> instead of string_vector in pathsearch functions. * ls-mat5.cc, utils.cc, ov-fcn-handle.cc: Update to match.
author John W. Eaton <jwe@octave.org>
date Sat, 11 Jun 2016 18:44:07 -0400
parents 949cb46e6bdb
children bac0d6f07a3e
line wrap: on
line diff
--- a/liboctave/util/pathsearch.h	Sat Jun 11 16:37:05 2016 -0400
+++ b/liboctave/util/pathsearch.h	Sat Jun 11 18:44:07 2016 -0400
@@ -25,10 +25,9 @@
 
 #include "octave-config.h"
 
+#include <list>
 #include <string>
 
-#include "str-vec.h"
-
 namespace octave
 {
   class
@@ -38,24 +37,32 @@
   public:
 
     directory_path (const std::string& s = "", const std::string& d = "")
-      : p_orig (s), p_default (d), initialized (false), p (), pv ()
+      : m_orig_path (s), m_default_path (d), m_initialized (false),
+        m_expanded_path (), m_path_elements ()
       {
-        if (! p_orig.empty ())
+        if (! m_orig_path.empty ())
           init ();
       }
 
     directory_path (const directory_path& dp)
-      : p_orig (dp.p_orig), p_default (dp.p_default),
-        initialized (dp.initialized), p (dp.p), pv (dp.pv)
+      : m_orig_path (dp.m_orig_path),
+        m_default_path (dp.m_default_path),
+        m_initialized (dp.m_initialized),
+        m_expanded_path (dp.m_expanded_path),
+        m_path_elements (dp.m_path_elements)
       { }
 
     directory_path& operator = (const directory_path& dp)
       {
-        p_orig = dp.p_orig;
-        p_default = dp.p_default;
-        initialized = dp.initialized;
-        p = dp.p;
-        pv = dp.pv;
+        if (this != &dp)
+          {
+            m_orig_path = dp.m_orig_path;
+            m_default_path = dp.m_default_path;
+            m_initialized = dp.m_initialized;
+            m_expanded_path = dp.m_expanded_path;
+            m_path_elements = dp.m_path_elements;
+          }
+
         return *this;
       }
 
@@ -63,25 +70,29 @@
 
     void set (const std::string& s)
     {
-      initialized = false;
-      p_orig = s;
+      m_initialized = false;
+      m_orig_path = s;
       init ();
     }
 
-    string_vector elements (void);
-    string_vector all_directories (void);
+    std::list<std::string> elements (void);
+
+    std::list<std::string> all_directories (void);
 
     std::string find_first (const std::string&);
+
     std::string find (const std::string& nm) { return find_first (nm); }
 
-    string_vector find_all (const std::string&);
+    std::list<std::string> find_all (const std::string&);
 
-    std::string find_first_of (const string_vector& names);
-    string_vector find_all_first_of (const string_vector& names);
+    std::string find_first_of (const std::list<std::string>& names);
+
+    std::list<std::string>
+    find_all_first_of (const std::list<std::string>& names);
 
     void rehash (void)
     {
-      initialized = false;
+      m_initialized = false;
       init ();
     }
 
@@ -105,21 +116,21 @@
   private:
 
     // The colon separated list that we were given.
-    std::string p_orig;
+    std::string m_orig_path;
 
     // The default path.  If specified, replaces leading, trailing, or
     // doubled colons in p_orig.
-    std::string p_default;
+    std::string m_default_path;
 
-    // TRUE means we've unpacked p.
-    bool initialized;
+    // TRUE means we've unpacked the path p.
+    bool m_initialized;
 
     // A version of the colon separate list on which we have performed
     // tilde, variable, and possibly default path expansion.
-    std::string p;
+    std::string m_expanded_path;
 
     // The elements of the list.
-    string_vector pv;
+    std::list<std::string> m_path_elements;
 
     void init (void);