diff --git a/src/polymesh/iterators.hh b/src/polymesh/iterators.hh index 710931cdb8e3ec549fb2c27637e4edf048e976bb..cf88fe4a061e279dfeacb5d9c935b1aeb0f23d52 100644 --- a/src/polymesh/iterators.hh +++ b/src/polymesh/iterators.hh @@ -104,7 +104,7 @@ struct filtering_iterator final : smart_iterator<filtering_iterator<IteratorT, P { filtering_iterator(IteratorT it, PredT p) : it(std::forward<IteratorT>(it)), pred(std::forward<PredT>(p)) { - if (it.is_valid()) + if (it.is_valid() && !pred(*it)) advance(); // skip initially false elements }