--- a/OrderedCollection.st Wed May 20 09:24:22 2015 +0100
+++ b/OrderedCollection.st Thu May 21 06:57:28 2015 +0200
@@ -1532,6 +1532,30 @@
!OrderedCollection methodsFor:'grow & shrink'!
+ensureSizeAtLeast:minSize
+ "ensure that the size is at least minSize.
+ If the receiver's size is smaller, grow the receiver to minSize,
+ filling new slots with nil.
+ Otherwise, if the size is already >= minSize, leave the receiver unchanged."
+
+ (self size < minSize) ifTrue:[
+ self grow:minSize
+ ].
+
+ "
+ |oc|
+
+ oc := OrderedCollection new.
+ oc ensureSizeAtLeast:10.
+ oc at:10 put:10.
+ oc add:11.
+ oc at:11.
+ oc ensureSizeAtLeast:20.
+ oc at:20 put:20.
+ oc.
+ "
+!
+
grow:newSize
"grow the receiver to newSize.
This only logically changes the receiver's size;
@@ -2151,10 +2175,10 @@
!OrderedCollection class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/OrderedCollection.st,v 1.119 2015-04-02 23:54:19 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/OrderedCollection.st,v 1.120 2015-05-20 10:16:35 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/OrderedCollection.st,v 1.119 2015-04-02 23:54:19 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/OrderedCollection.st,v 1.120 2015-05-20 10:16:35 cg Exp $'
! !