]> git.mxchange.org Git - simgear.git/commitdiff
Add some convenience functions to the SGPath function.
authorcurt <curt>
Wed, 26 Feb 2003 19:50:14 +0000 (19:50 +0000)
committercurt <curt>
Wed, 26 Feb 2003 19:50:14 +0000 (19:50 +0000)
simgear/misc/sg_path.cxx
simgear/misc/sg_path.hxx

index d171c073b70024a7f9ed3ef25f1da4e66949ffea..f18543a7bc172f3a31b24271c88ac1a8876df27d 100644 (file)
@@ -104,6 +104,17 @@ void SGPath::concat( const string& p ) {
 }
 
 
+// Get the file part of the path (everything after the last path sep)
+string SGPath::file() {
+    int index = path.rfind(SG_PATH_SEP);
+    if (index >= 0) {
+       return path.substr(index + 1);
+    } else {
+       return "";
+    }
+}
+  
+
 // get the directory part of the path.
 string SGPath::dir() {
     int index = path.rfind(SG_PATH_SEP);
@@ -114,10 +125,24 @@ string SGPath::dir() {
     }
 }
 
-string SGPath::filename() {
-    int index = path.rfind(SG_PATH_SEP);
-    if (index < 0) index = 0;
-    return path.substr(index);
+// get the base part of the path (everything but the extension.)
+string SGPath::base() {
+    int index = path.rfind(".");
+    if (index >= 0) {
+       return path.substr(0, index);
+    } else {
+       return "";
+    }
+}
+
+// get the extention (everything after the final ".")
+string SGPath::extension() {
+    int index = path.rfind(".");
+    if (index >= 0) {
+       return path.substr(index + 1);
+    } else {
+       return "";
+    }
 }
 
 bool SGPath::exists() const {
index 429097f4d7c1736c51c5843db3ffb2c02cd2c36b..045f584a794920eb8643dbfe8f3c57c90f18c29a 100644 (file)
@@ -94,6 +94,12 @@ public:
      */
     void concat( const string& p );
 
+    /**
+     * Get the file part of the path (everything after the last path sep)
+     * @return file string
+     */
+    string file();
+  
     /**
      * Get the directory part of the path.
      * @return directory string
@@ -101,11 +107,17 @@ public:
     string dir();
   
     /**
-     * Return the filename part of the path.
-     * @return file name string
+     * Get the base part of the path (everything but the extension.)
+     * @return the base string
      */
-    string filename();
-       
+    string base();
+
+    /**
+     * Get the extention part of the path (everything after the final ".")
+     * @return the extention string
+     */
+    string extension();
+
     /** Get the path string
      * @return path string
      */