-/*!
- * template class used for iteration on submesh elements. Interface of iterator remains
- * unchanged after redesign of SMDS to avoid modification everywhere in SMESH.
- * instances are stored in shared_ptr for automatic destruction.
- * Container is copied for iteration, because original can be modified
- * by addition of elements, for instance, and then reallocated (vector)
- */
-template <class ELEM, typename TSET> class MySetIterator : public SMDS_Iterator<ELEM>
-{
-protected:
- typename TSET::const_iterator _it, _end;
- TSET _table;
-public:
- MySetIterator(const TSET& table)
- {
- _table = table;
- _it = _table.begin();
- _end = _table.end();
- while ((_it != _end) && (*_it == 0))
- _it++;
- }
-
- virtual bool more()
- {
- while ((_it != _end) && (*_it == 0))
- _it++;
- return (_it != _end);
- }
-
- virtual ELEM next()
- {
- ELEM e = *_it;
- _it++;
- return e;
- }
-};
-