← Back to team overview

kicad-developers team mailing list archive

About today bzr update


Merged from the tip. Problem of the day :P

You declared

typedef boost::ptr_vector< LIB_ITEM > LIB_ITEMS;

... which is an IMHO more than reasonable decision.

drawings in LIB_COMPONENT is a LIB_ITEMS.

Then in (for example) GetBoundingBox I have an issue on the

BOOST_FOREACH( const LIB_ITEM& item, drawings )

... obviously because LIB_ITEM is abstract and then you can't take
a reference to it (more precisely, it wants to copy it so the copy
construction is invalid)

Shouldn't be the iteration more like...
BOOST_FOREACH( const LIB_ITEM* item, drawings ) ???

Also the ptr_vector contains *pointers* and the declaration says

T&        operator[]( size_type n );

so, shouldn't the LIB_ITEMS be declared as a collection of LIB_ITEM* ?
(not so sure about this last thing, but from what I remember about class
templates it should work that way...)

Lorenzo Marcantonio
Logos Srl

Follow ups