1 from abc import ABCMeta, abstractmethod
5 """
6 An Iterator class for the Iterator design pattern.
7
8 - External Usage documentation: U{https://github.com/tylerlaberge/PyPatterns/wiki/Behavioral-Pattern-Usage}
9 - External Iterator Pattern documentation: U{https://en.wikipedia.org/wiki/Iterator_pattern}
10 """
12 """
13 Initialize a new Iterator instance.
14
15 @param iterable: An Iterable object to iterate over.
16 @type iterable: Iterable
17 """
18 self.iterable = iterable
19
22
25
26
27 -class Iterable(object, metaclass=ABCMeta):
28 """
29 An abstract class representing an Iterable object as part of the Iterator design pattern.
30
31 - External Usage documentation: U{https://github.com/tylerlaberge/PyPatterns/wiki/Behavioral-Pattern-Usage}
32 - External Iterator Pattern documentation: U{https://en.wikipedia.org/wiki/Iterator_pattern}
33 """
34 @abstractmethod
36 """
37 All Iterable's must implement a __next__ method which eventually raises StopIteration.
38 """
39 pass
40