Issue Details (XML | Word | Printable)

Key: STDCXX-635
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Minor Minor
Assignee: Farid Zaripov
Reporter: Farid Zaripov
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
C++ Standard Library

std::deque::swap invalidates begin() and end() iterators on empty container

Created: 01/Nov/07 08:01 PM   Updated: 17/Apr/08 09:32 AM
Return to search
Component/s: 23. Containers
Affects Version/s: 4.2.0
Fix Version/s: 4.2.1

Time Tracking:
Original Estimate: 2h
Original Estimate - 2h
Remaining Estimate: 0h
Time Spent - 2h
Time Spent: 2h
Time Spent - 2h

Environment: All
Issue Links:
Dependants
 
Reference

Severity: Incorrect Behavior
Resolution Date: 16/Mar/08 04:58 AM


 Description  « Hide
The program below aborts on assert.

#include <deque>
#include <cassert>

int main ()
{
typedef std::deque<int> Deque;
typedef Deque::iterator Iter;

Deque d1, d2;

Iter iters [2][2] = {
{ d1.begin (), d1.end () },

{ d2.begin (), d2.end () }

};

d1.swap (d2);

assert (d2.begin () == iters [0][0]);
assert (d2.end ()== iters [0][1]);
assert (d1.begin () == iters [1][0]);
assert (d1.end ()== iters [1][1]);

return 0;
}



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Farid Zaripov made changes - 01/Nov/07 08:02 PM
Field Original Value New Value
Link This issue is related to STDCXX-127 [ STDCXX-127 ]
Farid Zaripov made changes - 01/Nov/07 08:04 PM
Link This issue blocks STDCXX-636 [ STDCXX-636 ]
Farid Zaripov made changes - 16/Mar/08 04:58 AM
Status Open [ 1 ] Resolved [ 5 ]
Resolution Fixed [ 1 ]
Farid Zaripov made changes - 16/Mar/08 05:00 AM
Original Estimate 2h [ 7200 ]
Remaining Estimate 2h [ 7200 ]
Farid Zaripov made changes - 16/Mar/08 05:00 AM
Time Spent 2h [ 7200 ]
Remaining Estimate 2h [ 7200 ] 0h [ 0 ]
Farid Zaripov made changes - 16/Mar/08 05:00 AM
Assignee Farid Zaripov [ farid ]
Martin Sebor made changes - 16/Mar/08 08:43 PM
Link This issue relates to STDCXX-769 [ STDCXX-769 ]
Farid Zaripov made changes - 17/Apr/08 09:32 AM
Status Resolved [ 5 ] Closed [ 6 ]