From c45acc07d8c3b15a17c2b2c92a022b8918b7475b Mon Sep 17 00:00:00 2001 From: nocturn9x Date: Mon, 1 Jun 2020 14:31:13 +0000 Subject: [PATCH] Added __contains__ dunder method --- ttlcollections/structures.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ttlcollections/structures.py b/ttlcollections/structures.py index 3309e2b..6bffba0 100644 --- a/ttlcollections/structures.py +++ b/ttlcollections/structures.py @@ -111,7 +111,10 @@ class TTLQueue: for element in self._queue: yield element.obj + def __contains__(self, item): + """Implements item in self""" + return self._queue.__contains__(item) class TTLStack: """A stack (LIFO) with per-item time to live (TTL) @@ -214,6 +217,12 @@ class TTLStack: i += 1 + def __contains__(self, item): + """Implements item in self""" + + return self._stack.__contains__(item) + + class TTLHeap(TTLQueue): """A heap queue with per-item time to live (TTL) @@ -258,6 +267,13 @@ class TTLHeap(TTLQueue): values = [t.obj for t in self._queue] return string.format(list=values, qsize=self.qsize, ttl=self.ttl, timer=self.timer) + + + def __contains__(self, item): + """Implements item in self""" + + return self._queue.__contains__(item) + def put(self, element, ttl: int = 0): """Puts an item onto the queue