View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0027571 | Open CASCADE | OCCT:Foundation Classes | public | 2016-06-06 16:29 | 2024-10-27 23:57 |
Reporter | Assigned To | dpasukhi | |||
Priority | normal | Severity | minor | ||
Status | assigned | Resolution | open | ||
Platform | Windows | OS | VC++ 2013 | ||
Product Version | 7.0.0 | ||||
Target Version | Unscheduled | ||||
Summary | 0027571: Foundation Classes - bad implementation of NCollection_Sequence::Iterator in reversed mode | ||||
Description | Regression after 0024831 "Make iterators of NCollection classes STL-compatible". When the Iterator is initialized for reverse iteration (isStart==False) then it is placed to empty position beyond the end of collection. The OCCT loop semantics requires that an iterator after creation should point to the first iterated item, as it was implemented before version 6.8.0 I propose to restore the original definition of method NCollection_BaseSequence::Iterator::Init() and then revise the STL methods of NCollection_Sequence, particularly now end() and cend() likely lead to crash. | ||||
Steps To Reproduce | test bugs fclasses bug27571 | ||||
Tags | No tags attached. | ||||
Test case number | |||||
|
Branch CR27571 has been created by ski. SHA-1: 48c6f7b63627de2828e6e5333daa86c1236e0a54 Detailed log of new commits: Author: ski Date: Wed Sep 28 17:13:47 2016 +0300 0027571: Bad implementation of NCollection_Sequence::Iterator Reverse iterator after creation points to the first iterated item now (last item of sequence). Test case was created. |
|
Branch CR27571 has been updated forcibly by ski. SHA-1: 52bb4675a9f9c381f290c6831c7df99d7f7da5f1 |
|
Dear abv, all changes are located in branch CR27571. When the Iterator is initialized for reverse iteration (isStart==False) then it points to the first iterated item of reversed sequence. For example: sequence = 1 2 3 4 5 reversed sequence = 5 4 3 2 1 so, reversed iterator will point to the item 5 after initialization. It is possible to use Next() with reversed iterator, it will set iterator to the next item 5 -> 4. More() is also usable. Previous() will reset iterator to the previous item 4 -> 5. Methods rbegin()/rend(), increment / decrement operators can be used to work with reversed iterator too. Test case bugs fclasses bug27571 was created. Please, review. |
|
Review it, please. |
|
|
|
Branch CR27571 has been updated forcibly by emv. SHA-1: 53f06757c24f3f96578f6f2daaa58a61f5f367ea |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-06-06 16:29 |
|
New Issue | |
2016-06-06 16:29 |
|
Assigned To | => abv |
2016-09-23 12:20 |
|
Assigned To | abv => ski |
2016-09-23 12:20 |
|
Status | new => assigned |
2016-09-28 19:32 | git | Note Added: 0058286 | |
2016-09-28 19:37 | kgv | Relationship added | related to 0024831 |
2016-09-29 13:23 | git | Note Added: 0058314 | |
2016-09-29 14:01 | kgv | Summary | Bad implementation of NCollection_Sequence::Iterator => Foundation Classes - bad implementation of NCollection_Sequence::Iterator in reversed mode |
2016-09-29 15:12 |
|
Note Added: 0058321 | |
2016-09-29 15:12 |
|
Assigned To | ski => abv |
2016-09-29 15:12 |
|
Status | assigned => resolved |
2016-09-29 15:12 |
|
Steps to Reproduce Updated | |
2016-11-22 12:25 |
|
Target Version | 7.1.0 => 7.2.0 |
2017-08-29 09:37 |
|
Target Version | 7.2.0 => 7.3.0 |
2018-05-12 21:36 |
|
Target Version | 7.3.0 => 7.4.0 |
2019-09-04 22:12 |
|
Target Version | 7.4.0 => 7.5.0 |
2020-10-26 14:33 |
|
Target Version | 7.5.0 => 7.6.0 |
2021-11-01 18:11 |
|
Target Version | 7.6.0 => 7.7.0 |
2022-10-17 17:30 |
|
Assigned To | abv => msv |
2022-10-17 17:30 |
|
Note Added: 0111607 | |
2022-10-17 19:22 |
|
Assigned To | msv => emv |
2022-10-17 19:23 |
|
Note Added: 0111615 | |
2022-10-20 14:29 | git | Note Added: 0111687 | |
2022-10-24 12:19 |
|
Target Version | 7.7.0 => 7.8.0 |
2022-10-24 13:57 |
|
Status | resolved => assigned |
2023-08-01 15:06 | dpasukhi | Target Version | 7.8.0 => Unscheduled |
2024-10-27 23:26 | dpasukhi | Assigned To | emv => dpasukhi |
2024-10-27 23:56 | dpasukhi | Sticky Issue | No => Yes |
2024-10-27 23:57 | dpasukhi | Sticky Issue | Yes => No |