From da8e9e9beeb2d7fc1345f7936dff99e5fb72102e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20W=C5=82ostowski?= Date: Wed, 18 Feb 2015 00:36:27 +0100 Subject: [PATCH] added Remove() and CountTypes() methods in COLLECTOR class --- include/class_collector.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/include/class_collector.h b/include/class_collector.h index 294fa0b3d9..f8c90a6582 100644 --- a/include/class_collector.h +++ b/include/class_collector.h @@ -129,6 +129,23 @@ public: m_List.erase( m_List.begin() + aIndex ); } + /** + * Function Remove + * removes the item aItem (if exists in the collector). + * @param aItem the item to be removed. + */ + void Remove( const EDA_ITEM *aItem ) + { + for( size_t i = 0; i < m_List.size(); i++ ) + { + if( m_List[i] == aItem ) + { + m_List.erase( m_List.begin() + i); + return; + } + } + } + /** * Function operator[int] * is used for read only access and returns the object at \a aIndex. @@ -223,6 +240,23 @@ public: else return false; } + /** + * Function CountType + * counts the number of items matching aType + * @param aType type we are interested in + * @return number of occurences + */ + int CountType( KICAD_T aType ) + { + int cnt = 0; + for( size_t i = 0; i < m_List.size(); i++ ) + { + if( m_List[i]->Type() == aType ) + cnt++; + } + return cnt; + } + /** * Function Collect