OrderedCollection.st
branchjv
changeset 18383 3a40da3624b7
parent 18192 32a7c53ef4d0
parent 18379 e36a3b641b80
child 18814 8e75e91e5e67
--- 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 $'
 ! !