# HG changeset patch # User Claus Gittinger # Date 1416991513 -3600 # Node ID bf814923306966c2cd2edd80d07de26701a24af5 # Parent 1732f18ec4b10425b4357b768b3d89e4c29da1e0 class: ArrayedCollection comment/format in: #documentation diff -r 1732f18ec4b1 -r bf8149233069 ArrayedCollection.st --- a/ArrayedCollection.st Wed Nov 26 09:42:56 2014 +0100 +++ b/ArrayedCollection.st Wed Nov 26 09:45:13 2014 +0100 @@ -38,27 +38,27 @@ " ArrayedCollection is an abstract superclass for all collections where the elements can be accessed via an integer index, - AND the collection is a fixed size collection. + AND the collection is a fixed size collection. + Those fixed size collections cannot easily grow, since they store the elements directly within the object and a grow operation can only be done by #becoming another object. - (other collections keep a reference to the physical container, which - can be easily replaced) + (many other collections keep a reference to the physical container, + which can be easily replaced) [Warning:] currently, ST/X supports growing fix-size collections - (such as Arrays, ByteArrays and Strings). However, this - is done in a very slow way (using #become). - Become is a very slow operation in a direct-pointer smalltalk - system. - \ + (such as Arrays, ByteArrays and Strings). + However, this is done in a very slow way (using #become). + Become is a very slow operation in a direct-pointer Smalltalk system + (which ST/X and many other 'modern' Smalltalks are). + Therefore, you SHOULD rewrite any application that does this, - to make use of OrderedCollections or any other collection which - can grow faster. + to make use of OrderedCollections or any other collection which can grow fast. To remind you of that, a warning message is sent to the standard error whenever such an operation is performed (see #grow). - \ - Also note, that some other smalltalk systems do NOT allow + + Also note, that some other Smalltalk systems do NOT allow fix size collection to change their size, and that future ST/X versions may be changed to trigger an error (instead of a warning) in those situations. @@ -502,6 +502,6 @@ !ArrayedCollection class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libbasic/ArrayedCollection.st,v 1.66 2014-07-09 15:05:51 cg Exp $' + ^ '$Header: /cvs/stx/stx/libbasic/ArrayedCollection.st,v 1.67 2014-11-26 08:45:13 cg Exp $' ! !