fix path with string comparison
authorJacob Lifshay <programmerjake@gmail.com>
Thu, 29 Jun 2017 06:01:18 +0000 (23:01 -0700)
committerJacob Lifshay <programmerjake@gmail.com>
Thu, 29 Jun 2017 06:01:18 +0000 (23:01 -0700)
src/util/CMakeLists.txt
src/util/filesystem.h

index 43d6a8ae988dc8c738b51779b364e4ee88927e97..b27d6bfa7457348dcccefc08e7f19de28894e439 100644 (file)
@@ -33,4 +33,4 @@ set(sources bit_intrinsics.cpp
             variant.cpp
             void_t.cpp)
 add_library(util STATIC ${sources})
-add_executable(util_test ${sources} util_test.cpp)
+add_executable(util_test EXCLUDE_FROM_ALL ${sources} util_test.cpp)
index f268755415965750fe37f23ee17943759b694028..070c2f9ae210725a767f4ebf4e0f441362da9b78 100644 (file)
@@ -1776,6 +1776,102 @@ public:
     {
         return r.compare(l) < 0;
     }
+    friend bool operator==(const basic_path &l, string_type r) noexcept
+    {
+        return l.compare(r) == 0;
+    }
+    friend bool operator!=(const basic_path &l, string_type r) noexcept
+    {
+        return l.compare(r) != 0;
+    }
+    friend bool operator<=(const basic_path &l, string_type r) noexcept
+    {
+        return l.compare(r) <= 0;
+    }
+    friend bool operator>=(const basic_path &l, string_type r) noexcept
+    {
+        return l.compare(r) >= 0;
+    }
+    friend bool operator<(const basic_path &l, string_type r) noexcept
+    {
+        return l.compare(r) < 0;
+    }
+    friend bool operator>(const basic_path &l, string_type r) noexcept
+    {
+        return l.compare(r) > 0;
+    }
+    friend bool operator==(string_type l, const basic_path &r) noexcept
+    {
+        return r.compare(l) == 0;
+    }
+    friend bool operator!=(string_type l, const basic_path &r) noexcept
+    {
+        return r.compare(l) != 0;
+    }
+    friend bool operator<=(string_type l, const basic_path &r) noexcept
+    {
+        return r.compare(l) >= 0;
+    }
+    friend bool operator>=(string_type l, const basic_path &r) noexcept
+    {
+        return r.compare(l) <= 0;
+    }
+    friend bool operator<(string_type l, const basic_path &r) noexcept
+    {
+        return r.compare(l) > 0;
+    }
+    friend bool operator>(string_type l, const basic_path &r) noexcept
+    {
+        return r.compare(l) < 0;
+    }
+    friend bool operator==(const basic_path &l, const Char_type *r) noexcept
+    {
+        return l.compare(r) == 0;
+    }
+    friend bool operator!=(const basic_path &l, const Char_type *r) noexcept
+    {
+        return l.compare(r) != 0;
+    }
+    friend bool operator<=(const basic_path &l, const Char_type *r) noexcept
+    {
+        return l.compare(r) <= 0;
+    }
+    friend bool operator>=(const basic_path &l, const Char_type *r) noexcept
+    {
+        return l.compare(r) >= 0;
+    }
+    friend bool operator<(const basic_path &l, const Char_type *r) noexcept
+    {
+        return l.compare(r) < 0;
+    }
+    friend bool operator>(const basic_path &l, const Char_type *r) noexcept
+    {
+        return l.compare(r) > 0;
+    }
+    friend bool operator==(const Char_type *l, const basic_path &r) noexcept
+    {
+        return r.compare(l) == 0;
+    }
+    friend bool operator!=(const Char_type *l, const basic_path &r) noexcept
+    {
+        return r.compare(l) != 0;
+    }
+    friend bool operator<=(const Char_type *l, const basic_path &r) noexcept
+    {
+        return r.compare(l) >= 0;
+    }
+    friend bool operator>=(const Char_type *l, const basic_path &r) noexcept
+    {
+        return r.compare(l) <= 0;
+    }
+    friend bool operator<(const Char_type *l, const basic_path &r) noexcept
+    {
+        return r.compare(l) > 0;
+    }
+    friend bool operator>(const Char_type *l, const basic_path &r) noexcept
+    {
+        return r.compare(l) < 0;
+    }
     iterator begin() const noexcept
     {
         return iterator(this, 0);