Hi All
I have made an attempt at making the column container relatively dynamic in
the hope of increasing the column limit to 16K. The patch I have made (
https://gist.github.com/dennisfrancis/ba7254405f77282214bb#file-lo16kcols-patch
) does not have the required "big" refactoring, and have just enough
changes to make everything compile and pass
the unit tests. I was not sure whether to put this very incomplete version
in gerrit.
The underlying data structure is now a std::vector whose size can
dynamically move between
1K(min) and 16K(max). This is wrapped in a template class called
ScColContainer which could be
used in places where fixed size (MAXCOLCOUNT) arrays are used. The
underlying data structure
can be changed relatively easily inside this template class without
breaking the methods/operator
signatures.
Before I begin further refactoring I would like to discuss the various
possibilities of data structures
which you already have in mind, that could be used here instead of just a
std::vector, and their merits, demerits etc..
In the current approach, the plan is to have the same performance
guarantees for sheets upto 1K cols and for sheets greater 1K, allocate only
the required number of columns and only iterate over the column range 0 to
largest column present actually in the sheet, instead of iterating over a
fixed col range (0 to MAXCOL).
Please point out any deficiencies, blockades with my current approach and
indicate better methods.
Thanks for you time.
Regards,
Dennis
www.ldcs.co.in
Context
- tdf#50916 : Calc : Dynamic column container · Dennis Francis
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.