From 7219e27087baaa8a5693b5bef1b1357bddbffa53 Mon Sep 17 00:00:00 2001 From: Ethan Furman Date: Wed, 16 Sep 2020 13:01:00 -0700 Subject: Enum: make `Flag` and `IntFlag` members iterable (GH-22221) --- Lib/enum.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Lib/enum.py') diff --git a/Lib/enum.py b/Lib/enum.py index 21a94caaee3..3c459ea4113 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -753,6 +753,10 @@ class Flag(Enum): type(other).__qualname__, self.__class__.__qualname__)) return other._value_ & self._value_ == other._value_ + def __iter__(self): + members, extra_flags = _decompose(self.__class__, self.value) + return (m for m in members if m._value_ != 0) + def __repr__(self): cls = self.__class__ if self._name_ is not None: -- cgit v1.2.3