← Back to team overview

kicad-developers team mailing list archive

Re: Concerns about clearing disagreements before committing.


On 25.11.2011 23:30, Lorenzo Marcantonio wrote:
Isn't a std::set a little overweight for the layer mask? IIRC it's usually
implemented as a btree (red-black trees in g++), and there is one for each pad
at least in the board! A bitmasked int is a bit vector, which is a lot more
efficient both in size and space. Also a bitmask is the very essence of a
padstack (even if we do not handle them explicitly).

Use C++ power instead of wrangle. Just hide layer mask implementation inside class, and afterward you could easy play with different implementations without refactoring all source code. You could compare speed, size and other issues using real code, not only assumptions. You could start from easiest (faster to write) implementation (e.g. std:set), and begin to experiment with optimization (e.g. bit vector or something else) when all necessary functionality already achieved. All changes will be localized in one single class.

- Actually the only things that can be on more than one layer are pads and
   vias! Am I wrong?
I'm not sure, but, possibly, some sort of barriers?

   Sergey A. Borshch            mailto: sb-sf@xxxxxxxxxxxxxxx
     SB ELDI ltd. Riga, Latvia