indiantarget / quimeraengine

0 stars 0 forks source link

QListIterator #478

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
One of the parts of the development of QListIterator class.

Task description:

https://drive.google.com/file/d/0B0FuyHpDsrcfOVBkX3NvMkZ6SkU/edit?usp=sharing

Original issue reported on code.google.com by Lince3D@gmail.com on 22 Jan 2014 at 1:27

GoogleCodeExporter commented 9 years ago

Original comment by Lince3D@gmail.com on 22 Jan 2014 at 1:30

GoogleCodeExporter commented 9 years ago

Original comment by Lince3D@gmail.com on 22 Jan 2014 at 1:36

GoogleCodeExporter commented 9 years ago

Original comment by Lince3D@gmail.com on 22 Jan 2014 at 1:43

GoogleCodeExporter commented 9 years ago

Original comment by Lince3D@gmail.com on 22 Jan 2014 at 2:56

GoogleCodeExporter commented 9 years ago

Original comment by Lince3D@gmail.com on 25 Apr 2014 at 11:50

GoogleCodeExporter commented 9 years ago

Original comment by Lince3D@gmail.com on 28 Apr 2014 at 11:27

GoogleCodeExporter commented 9 years ago

Original comment by Lince3D@gmail.com on 28 Apr 2014 at 11:28

GoogleCodeExporter commented 9 years ago

Original comment by Lince3D@gmail.com on 9 May 2014 at 1:23

GoogleCodeExporter commented 9 years ago

Original comment by Lince3D@gmail.com on 24 May 2014 at 1:53

GoogleCodeExporter commented 9 years ago

Original comment by Lince3D@gmail.com on 7 Jun 2014 at 2:09

Attachments:

GoogleCodeExporter commented 9 years ago

Original comment by anderson...@gmail.com on 18 Jun 2014 at 6:12

GoogleCodeExporter commented 9 years ago

Original comment by Lince3D@gmail.com on 18 Jun 2014 at 10:23

Attachments:

GoogleCodeExporter commented 9 years ago

QList.h:
---------------

1) operator!= --> It's not necessary to put 'QE_ASSERT(m_pList == 
iterator.m_pList, "Iterators point to different lists");' due to pointing to 
different lists, in this case, is considered a valid situation in which False 
is returned (unlike in 'operator==', where pointing to different lists is 
considered as an abnormal situation, and thus the system should warn about).

2) operator> --> The last comment says '// If the iterator does not equal the 
input iterator, input iterator is greater than resident one', but as far as I 
understand how it works, I think this comment is wrong. 'iteratorFromThis' 
could reach the end of the list (parting from a greater index value than the 
passed list iterator), being != to 'iterator.m_uPosition', and making 'bResult' 
to be set to True (not False), that is, 'iteratorFromThis' points to a more 
posterior position than the passed iterator (I understand posterior as 
"greater").

Example: resident_list_it = 4, passed_list_it = 2, num_elements_in_the_list = 9;

I understand that, in this situation, resident_list_it > passed_list_it returns 
'true' --> iteratorFromThis == [4,5,6,7,8, END_POSITION_FORWARD]

CONCLUSSION: I think the comment should say '// If the iterator does not equal 
the input iterator, input iterator is lower than resident one'.

3) operator< --> The last comment says '// If the iterator does equal the input 
iterator, input iterator is greater than resident one', so it could confirm 
that one of them (this one or the mentioned one in 2)) is wrong. :P

4) operator>= --> Same as 2)

5) operator<= --> Same as 3)

6) IsEnd --> Missed a '<br/>' in the comment '/// True if the iterator is 
pointing to the position after the last element when iterating forward or if it 
is
                  /// pointing to the position immediately before the first position when iterating backward; False otherwise.'?. Just after '...or if it is'?.

7) IsValid --> In the comment 'An iterator is considered invalid when it points 
to an unexisting position ("an" list may have been...' replace 'an' by 'a'. 

(** 'QEUnitTests' solution **) Tools-win.cbp.mak:
-----------------------------------------------

8) Please put the last two lines regarding to QListIterator_Test after the ones 
regarding to QNTree_Test in the 'DebugWin32SharedrtStatic' section, for 
mantaining them sorted.

9) Non-existent 'QDynamicList' statements in the following tests:
    - OperatorPostDecrement_AssertionFailsWhenIteratorIsNotValid_Test
    - OperatorAssignment_IteratorIsCopiedWhenInputIteratorIsNotValid_Test
    - OperatorEquality_AssertionFailsWhenIteratorsAreNotValid_Test
    - OperatorGreaterThan_AssertionFailsWhenIteratorsAreNotValid_Test

Original comment by anderson...@gmail.com on 19 Jun 2014 at 11:30

GoogleCodeExporter commented 9 years ago

Original comment by Lince3D@gmail.com on 30 Jun 2014 at 10:32

Attachments:

GoogleCodeExporter commented 9 years ago
Result: OK
Status: Done

Original comment by anderson...@gmail.com on 4 Jul 2014 at 9:27