Browse Source

AK: Vector use Traits<T>::equals in find

Use Traits<T>::equals for equality checking in search
functions instead of  operator==
Muhammad Zahalqa 4 years ago
parent
commit
125ea6a214
1 changed files with 4 additions and 4 deletions
  1. 4 4
      AK/Vector.h

+ 4 - 4
AK/Vector.h

@@ -249,7 +249,7 @@ public:
     bool contains_slow(const T& value) const
     bool contains_slow(const T& value) const
     {
     {
         for (size_t i = 0; i < size(); ++i) {
         for (size_t i = 0; i < size(); ++i) {
-            if (at(i) == value)
+            if (Traits<T>::equals(at(i), value))
                 return true;
                 return true;
         }
         }
         return false;
         return false;
@@ -612,18 +612,18 @@ public:
 
 
     ConstIterator find(const T& value) const
     ConstIterator find(const T& value) const
     {
     {
-        return find([&](auto& other) { return value == other; });
+        return find([&](auto& other) { return Traits<T>::equals(value, other); });
     }
     }
 
 
     Iterator find(const T& value)
     Iterator find(const T& value)
     {
     {
-        return find([&](auto& other) { return value == other; });
+        return find([&](auto& other) { return Traits<T>::equals(value, other); });
     }
     }
 
 
     Optional<size_t> find_first_index(const T& value)
     Optional<size_t> find_first_index(const T& value)
     {
     {
         for (size_t i = 0; i < m_size; ++i) {
         for (size_t i = 0; i < m_size; ++i) {
-            if (value == at(i))
+            if (Traits<T>::equals(value, at(i)))
                 return i;
                 return i;
         }
         }
         return {};
         return {};