retainWhere method

  1. @override
void retainWhere(
  1. bool test(
    1. T element
    )
)
override

Removes all elements of this set that fail to satisfy test.

enum Numbers { one, two, three; }

var set1 = EnumSet<Numbers>.of(Numbers.values, {Numbers.one, Numbers.two});
set1.retainWhere((element) => element.index >= 1);

print(set1); // (Numbers.two)

Implementation

@override
void retainWhere(bool Function(T element) test) {
  for (T element in this) {
    if (!test(element)) remove(element);
  }
}