Pārlūkot izejas kodu

fix(list,vector): remove explicit of initializer

greatbridf 2 gadi atpakaļ
vecāks
revīzija
78e4bbef4b
2 mainītis faili ar 17 papildinājumiem un 5 dzēšanām
  1. 2 2
      include/types/list.hpp
  2. 15 3
      include/types/vector.hpp

+ 2 - 2
include/types/list.hpp

@@ -60,12 +60,12 @@ private:
 public:
     class iterator {
     public:
-        explicit iterator(const iterator& iter) noexcept
+        iterator(const iterator& iter) noexcept
             : n(iter.n)
         {
         }
 
-        explicit iterator(iterator&& iter) noexcept
+        iterator(iterator&& iter) noexcept
             : n(iter.n)
         {
         }

+ 15 - 3
include/types/vector.hpp

@@ -31,12 +31,12 @@ public:
         using Reference = typename types::traits::add_reference<Value>::type;
 
     public:
-        explicit iterator(const iterator& iter) noexcept
+        iterator(const iterator& iter) noexcept
             : p(iter.p)
         {
         }
 
-        explicit iterator(iterator&& iter) noexcept
+        iterator(iterator&& iter) noexcept
             : p(iter.p)
         {
         }
@@ -82,6 +82,18 @@ public:
             return iter;
         }
 
+        iterator operator+(size_type n) noexcept
+        {
+            iterator iter(p + n);
+            return iter;
+        }
+
+        iterator operator-(size_type n) noexcept
+        {
+            iterator iter(p - n);
+            return iter;
+        }
+
         Reference operator*() const noexcept
         {
             return *p;
@@ -132,7 +144,7 @@ public:
             allocator_traits<allocator_type>::deconstruct(m_arr + i);
 
         if (m_arr)
-        allocator_traits<allocator_type>::deallocate(m_arr);
+            allocator_traits<allocator_type>::deallocate(m_arr);
         m_arr = new_ptr;
     }