|
@@ -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;
|
|
|
}
|
|
|
|