-
Enhancement
-
Resolution: Fixed
-
P4
-
18
-
b24
The documentation about the different CardSetPtr/CardSetContainers in g1CardSet.hpp line 187ff is, while correct, a bit outdated.
The following facts are missing:
- bitmaps are only used within Howl card set containers. It is almost never advantageous to use a bitmap over a whole region. Further, transferring cards from Howl to that "Full" bitmap is hard. The additional space used by the Howl array is negligible vs. a whole bitmap anyway.
- The last two bits of the encoding for Howl (0b11) is assumed to be the same as the last two bits for "FullCardSet"; this has been done in various places to not be required to check for a "FullCardSet" first all the time in iteration code (only if there is a Howl card set container, that is fairly uncommon).
Improve.
The following facts are missing:
- bitmaps are only used within Howl card set containers. It is almost never advantageous to use a bitmap over a whole region. Further, transferring cards from Howl to that "Full" bitmap is hard. The additional space used by the Howl array is negligible vs. a whole bitmap anyway.
- The last two bits of the encoding for Howl (0b11) is assumed to be the same as the last two bits for "FullCardSet"; this has been done in various places to not be required to check for a "FullCardSet" first all the time in iteration code (only if there is a Howl card set container, that is fairly uncommon).
Improve.