History log of /haiku/src/kits/support/List.cpp
Revision Date Author Comments
# 29e8fa59 24-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to Support Kit files


# b0850e9b 05-Dec-2009 Stephan Aßmus <superstippi@gmx.de>

* Code and header indentation cleanup
* Added operator== and !=
* Added check for list != this in operator=
* Added HasItem() and IndexOf() versions that take const void*, duplicating
the code, since I didn't want to introduce another function call in these
potentially time critical methods.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34520 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 23f42491 06-Oct-2008 Karsten Heimrich <host.haiku@gmx.de>

* should have been part of r27883



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27892 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a4da9c86 05-Oct-2008 Karsten Heimrich <host.haiku@gmx.de>

* fix of by one bug while moving from front to back



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27883 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 68f40fcc 05-Oct-2008 Karsten Heimrich <host.haiku@gmx.de>

* cleanup



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27882 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0b559106 23-Sep-2008 Michael Lotz <mmlr@mlotz.ch>

* Only copy over the list content if resizing/allocating the list succeded.
Fixes CID 1268.
* Remove no more correct comment.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27710 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fe83a987 12-Jun-2008 Rene Gollent <anevilyak@gmail.com>

Remove unneeded header.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25947 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0c8bdbaf 12-Jun-2008 Rene Gollent <anevilyak@gmail.com>

Revamp BList somewhat to further optimize the resizing behavior.
We now keep track of a lower bound as to when the list should scale
itself back down. When increasing the list size, we double the current,
with the lower bound set to 1/4 of the current size, not allowing it to
go any smaller than the block size. These combined allow us to do very
cheap tests to see if an operation requires a resize at all, and minimize
how often the list actually needs to be resized, since the difference in upper
and lower bounds prevents bouncing back and forth between a size in the case
of adding/removing an item while close to a boundary. All in all this should
make BList noticably more scalable when doing large numbers of add/remove
operations.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25946 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 819eb21b 11-Jun-2008 Rene Gollent <anevilyak@gmail.com>

Remove (invalid) TODO note. Rename variable more meaningfully. Remove stray whitespace that crept into previous commit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25927 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 34380ac4 10-Jun-2008 Rene Gollent <anevilyak@gmail.com>

Tracked down issue with previous commit. For some reason, modifying the passed in parameter's value directly results in a segfault in registrar, and I cannot see why. Thoughts?



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25920 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 22aef424 10-Jun-2008 Rene Gollent <anevilyak@gmail.com>

Revert this change until I determine why it now crashes the app_server when it didn't during my tests.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25919 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 864ace18 10-Jun-2008 Rene Gollent <anevilyak@gmail.com>

Rework BList's Resize() functionality: instead of altering the size of the list a block at a time,
we now double/halve the current size of the list, starting with the constructor blocksize as a baseline.
This has the net effect that when doing large numbers of inserts/removes, the number of resize operations
needed scales logarithmically to the number of operations, which should yield a decent performance
improvement in such cases.

Review welcome. This does not yet affect ticket #2363 that I'm aware of, as I'm currently in the process
of attempting to find a copy of said app to test with.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25916 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9ecf9d1c 26-Aug-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

Merge from layout management branch.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18649 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 005069f4 02-Jan-2003 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Changed a "" include to a <> one. Some cosmetic changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2347 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a3d1f07f 10-Dec-2002 François Revol <revol@free.fr>

Fix by Jack Burton


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2217 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d19f7b5d 10-Dec-2002 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed the behaviour of DoForEach() functions (from Isaac Yonemoto implementation)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2216 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9c81f09d 06-Dec-2002 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented some missing functions (MoveItems is still lacking), added the copyright header


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2171 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 52a38012 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 29e8fa5922c9f9a5eb09a2fcc92e7fb321d4cc59 24-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to Support Kit files


# b0850e9ba1f3da587c5d263ecafa55e5f29090e3 05-Dec-2009 Stephan Aßmus <superstippi@gmx.de>

* Code and header indentation cleanup
* Added operator== and !=
* Added check for list != this in operator=
* Added HasItem() and IndexOf() versions that take const void*, duplicating
the code, since I didn't want to introduce another function call in these
potentially time critical methods.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34520 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 23f4249171861630250fc7ecfce8a37b3392e316 06-Oct-2008 Karsten Heimrich <host.haiku@gmx.de>

* should have been part of r27883



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27892 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a4da9c8634369e84a66fa8a4a97ce50d010e190d 05-Oct-2008 Karsten Heimrich <host.haiku@gmx.de>

* fix of by one bug while moving from front to back



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27883 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 68f40fccf7e7ce4ffb12353d066fa896745bd4eb 05-Oct-2008 Karsten Heimrich <host.haiku@gmx.de>

* cleanup



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27882 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0b559106bf1b0d193a734be0f0e5ba099240aa6a 23-Sep-2008 Michael Lotz <mmlr@mlotz.ch>

* Only copy over the list content if resizing/allocating the list succeded.
Fixes CID 1268.
* Remove no more correct comment.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27710 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fe83a98715bb48839159be093fd68df1a1756e46 12-Jun-2008 Rene Gollent <anevilyak@gmail.com>

Remove unneeded header.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25947 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0c8bdbafd535f10661ddf55470150da758c08454 12-Jun-2008 Rene Gollent <anevilyak@gmail.com>

Revamp BList somewhat to further optimize the resizing behavior.
We now keep track of a lower bound as to when the list should scale
itself back down. When increasing the list size, we double the current,
with the lower bound set to 1/4 of the current size, not allowing it to
go any smaller than the block size. These combined allow us to do very
cheap tests to see if an operation requires a resize at all, and minimize
how often the list actually needs to be resized, since the difference in upper
and lower bounds prevents bouncing back and forth between a size in the case
of adding/removing an item while close to a boundary. All in all this should
make BList noticably more scalable when doing large numbers of add/remove
operations.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25946 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 819eb21bbf5fe1a0244dd7796c069c8a43f865fc 11-Jun-2008 Rene Gollent <anevilyak@gmail.com>

Remove (invalid) TODO note. Rename variable more meaningfully. Remove stray whitespace that crept into previous commit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25927 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 34380ac48cbf76a2459bddf651d1d30618072afc 10-Jun-2008 Rene Gollent <anevilyak@gmail.com>

Tracked down issue with previous commit. For some reason, modifying the passed in parameter's value directly results in a segfault in registrar, and I cannot see why. Thoughts?



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25920 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 22aef424814d98ff705b2e3dcd9c2aa56184e318 10-Jun-2008 Rene Gollent <anevilyak@gmail.com>

Revert this change until I determine why it now crashes the app_server when it didn't during my tests.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25919 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 864ace1845b20a60cc3cf38c6e4341cedca5ce90 10-Jun-2008 Rene Gollent <anevilyak@gmail.com>

Rework BList's Resize() functionality: instead of altering the size of the list a block at a time,
we now double/halve the current size of the list, starting with the constructor blocksize as a baseline.
This has the net effect that when doing large numbers of inserts/removes, the number of resize operations
needed scales logarithmically to the number of operations, which should yield a decent performance
improvement in such cases.

Review welcome. This does not yet affect ticket #2363 that I'm aware of, as I'm currently in the process
of attempting to find a copy of said app to test with.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25916 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9ecf9d1c1d4888d341a6eac72112c72d1ae3a4cb 26-Aug-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

Merge from layout management branch.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18649 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 005069f4e1863ee3c97ad86879bb13a0713070db 02-Jan-2003 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Changed a "" include to a <> one. Some cosmetic changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2347 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a3d1f07f830eb36e3fa02a9b43bc4868d751a2e8 10-Dec-2002 François Revol <revol@free.fr>

Fix by Jack Burton


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2217 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d19f7b5dadf6ee0a2de6faf7ce1a9324c2499698 10-Dec-2002 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed the behaviour of DoForEach() functions (from Isaac Yonemoto implementation)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2216 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9c81f09d9f78bd29ff7987eab7df359b5d4bb695 06-Dec-2002 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented some missing functions (MoveItems is still lacking), added the copyright header


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2171 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 52a380120846174213ccce9c4aab0dda17c72083 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96