Fix path::iterator post-increment and post-decrement
* include/experimental/bits/fs_path.h (path::iterator++(int)) (path::iterator--(int)): Fix for paths with only one component. * testsuite/experimental/filesystem/path/itr/traversal.cc: Test post-increment and post-decrement. From-SVN: r253896
This commit is contained in:
parent
89b1e16136
commit
551124d561
|
@ -1,5 +1,10 @@
|
|||
2017-10-19 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/experimental/bits/fs_path.h (path::iterator++(int))
|
||||
(path::iterator--(int)): Fix for paths with only one component.
|
||||
* testsuite/experimental/filesystem/path/itr/traversal.cc: Test
|
||||
post-increment and post-decrement.
|
||||
|
||||
* doc/xml/manual/status_cxx2017.xml: Update references to C++17
|
||||
section numbers.
|
||||
|
||||
|
|
|
@ -725,10 +725,10 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
|
|||
pointer operator->() const { return std::__addressof(**this); }
|
||||
|
||||
iterator& operator++();
|
||||
iterator operator++(int) { auto __tmp = *this; ++_M_cur; return __tmp; }
|
||||
iterator operator++(int) { auto __tmp = *this; ++*this; return __tmp; }
|
||||
|
||||
iterator& operator--();
|
||||
iterator operator--(int) { auto __tmp = *this; --_M_cur; return __tmp; }
|
||||
iterator operator--(int) { auto __tmp = *this; --*this; return __tmp; }
|
||||
|
||||
friend bool operator==(const iterator& __lhs, const iterator& __rhs)
|
||||
{ return __lhs._M_equals(__rhs); }
|
||||
|
|
|
@ -79,9 +79,28 @@ test02()
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
test03()
|
||||
{
|
||||
path paths[] = { "single", "multiple/elements" };
|
||||
for (const path& p : paths)
|
||||
for (auto iter = p.begin(); iter != p.end(); ++iter)
|
||||
{
|
||||
auto iter2 = iter;
|
||||
++iter;
|
||||
iter2++;
|
||||
VERIFY( iter2 == iter );
|
||||
auto iter3 = iter;
|
||||
--iter3;
|
||||
iter2--;
|
||||
VERIFY( iter2 == iter3 );
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
test01();
|
||||
test02();
|
||||
test03();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue