Skip to content
Snippets Groups Projects
Commit 340ee82f authored by Jö Fahlke's avatar Jö Fahlke
Browse files

[testBidirectionalIterator()] Test both pre- and postdecrement.

parent 92031b05
No related branches found
No related tags found
No related merge requests found
...@@ -91,10 +91,21 @@ template<class Iter, class Opt> ...@@ -91,10 +91,21 @@ template<class Iter, class Opt>
int testBidirectionalIterator(Iter begin, Iter end, Opt opt) int testBidirectionalIterator(Iter begin, Iter end, Opt opt)
{ {
testForwardIterator(begin, end, opt); testForwardIterator(begin, end, opt);
for(Iter it = end; it != begin; ) for(Iter pre = end, post = end; pre != begin; )
{ {
--it; if(pre != post--)
opt(*it); {
std::cerr << "Postdecrement did not return the old iterator"
<< std::endl;
return 1;
}
if(--pre != post)
{
std::cerr << "Predecrement did not return the new iterator"
<< std::endl;
return 1;
}
opt(*pre);
} }
typename Iter::difference_type size = std::distance(begin, end); typename Iter::difference_type size = std::distance(begin, end);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment