<div dir="ltr"><div><div><div><div>Hi All<br><br></div>I have made an attempt at making the column container relatively dynamic in<br></div>the hope of increasing the column limit to 16K. The patch I have made ( <a href="https://gist.github.com/dennisfrancis/ba7254405f77282214bb#file-lo16kcols-patch">https://gist.github.com/dennisfrancis/ba7254405f77282214bb#file-lo16kcols-patch</a> ) does not have the required "big" refactoring, and have just enough changes to make everything compile and pass<br>the unit tests. I was not sure whether to put this very incomplete version in gerrit.<br><br>The underlying data structure is now a std::vector whose size can dynamically move between <br>1K(min) and 16K(max). This is wrapped in a template class called ScColContainer which could be <br>used in places where fixed size (MAXCOLCOUNT) arrays are used. The underlying data structure <br>can be changed relatively easily inside this template class without breaking the methods/operator <br>signatures.<br><br></div><div>Before I begin further refactoring I would like to discuss the various possibilities of data structures<br></div><div>which you already have in mind, that could be used here instead of just a std::vector, and their merits, demerits etc..<br><br></div><div>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).<br><br></div><div>Please point out any deficiencies, blockades with my current approach and indicate better methods.<br><br></div><div>Thanks for you time.<br><br></div><div>Regards,<br></div><div>Dennis<br></div><div><br></div><div><a href="http://www.ldcs.co.in">www.ldcs.co.in</a><br></div><div><br><br></div></div></div>