[Python-checkins] r60679 - python/trunk/Lib/_abcoll.py
raymond.hettinger
python-checkins at python.org
Sat Feb 9 02:18:42 CET 2008
Author: raymond.hettinger
Date: Sat Feb 9 02:18:42 2008
New Revision: 60679
Modified:
python/trunk/Lib/_abcoll.py
Log:
Make ABC containers inherit as documented.
Modified: python/trunk/Lib/_abcoll.py
==============================================================================
--- python/trunk/Lib/_abcoll.py (original)
+++ python/trunk/Lib/_abcoll.py Sat Feb 9 02:18:42 2008
@@ -56,7 +56,7 @@
Iterable.register(str)
-class Iterator:
+class Iterator(Iterable):
__metaclass__ = ABCMeta
@abstractmethod
@@ -122,7 +122,7 @@
### SETS ###
-class Set:
+class Set(Sized, Iterable, Container):
__metaclass__ = ABCMeta
"""A set is a finite, iterable container.
@@ -135,19 +135,6 @@
then the other operations will automatically follow suit.
"""
- @abstractmethod
- def __contains__(self, value):
- return False
-
- @abstractmethod
- def __iter__(self):
- while False:
- yield None
-
- @abstractmethod
- def __len__(self):
- return 0
-
def __le__(self, other):
if not isinstance(other, Set):
return NotImplemented
@@ -324,7 +311,7 @@
### MAPPINGS ###
-class Mapping:
+class Mapping(Sized, Iterable, Container):
__metaclass__ = ABCMeta
@abstractmethod
@@ -345,15 +332,6 @@
else:
return True
- @abstractmethod
- def __len__(self):
- return 0
-
- @abstractmethod
- def __iter__(self):
- while False:
- yield None
-
def keys(self):
return KeysView(self)
@@ -370,7 +348,7 @@
def __ne__(self, other):
return not (self == other)
-class MappingView:
+class MappingView(Sized):
__metaclass__ = ABCMeta
def __init__(self, mapping):
@@ -490,7 +468,7 @@
### SEQUENCES ###
-class Sequence:
+class Sequence(Sized, Iterable, Container):
__metaclass__ = ABCMeta
"""All the operations on a read-only sequence.
@@ -503,10 +481,6 @@
def __getitem__(self, index):
raise IndexError
- @abstractmethod
- def __len__(self):
- return 0
-
def __iter__(self):
i = 0
try:
More information about the Python-checkins
mailing list