core/stx_goodies_xtreams_core.st
changeset 129 6336404a548f
parent 109 9587e2df7029
--- a/core/stx_goodies_xtreams_core.st	Sun Apr 07 17:49:07 2013 -0400
+++ b/core/stx_goodies_xtreams_core.st	Sun Nov 17 00:01:47 2013 -0500
@@ -81,15 +81,15 @@
 
 Another difference that you''ll probably notice early on is that reading past the end of stream is not a notification which returns nil by default. With Xtreams it is always an exception, Incomplete, the same way you get IncompleteNextCountError with #next:/#next:into:startingAt: (but not with #next). Incomplete always carries count of elements that were read or written successfully, and optionally also the destination or source collection and start parameters to provide easy access to whatever was successfully processed. Similarly, the positioning APIs report the actual change of position, with collection and start being nil. As usual the stream that raises the exception is the originator.
 {{{
-        [ ''Hello World!!!!!!!!!!!!!!!!'' reading ++ 6; read: 50 ] on: Incomplete do: [ :ex | ex contents ]
+        [ ''Hello World!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'' reading ++ 6; read: 50 ] on: Incomplete do: [ :ex | ex contents ]
 }}}
 Another significant difference is that xtreams do not provide the #atEnd test. Depending on the type of stream, implementing such test may require an actual read attempt to be able to answer. Once you perform a read, you''ll need to cache the element if the stream is not positionable. This gets even more complicated with complex stream stacks. Instead xtreams provide several alternatives each suitable for different circumstances. Message #rest reads everything that is left in the stream and automatically handles the Incomplete exception at the end.
 {{{
-        ''Hello World!!!!!!!!!!!!!!!!'' reading read: 6; rest
+        ''Hello World!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'' reading read: 6; rest
 }}}
 If you don''t want to collect all the elements in the collection, xtreams also support collection style iteration protocols
 {{{
-        ''Hello World!!!!!!!!!!!!!!!!'' reading
+        ''Hello World!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'' reading
                 read: 6;
                 inject: 0 into: [ :count :each | count + 1 ]
 }}}
@@ -180,14 +180,14 @@
 {{{
         String new writing
                 write: ''Hello '';
-                explore: [ :stream | stream write: ''Fooled!!!!!!!!!!!!!!!!'' ];
-                write: ''World!!!!!!!!!!!!!!!!'';
+                explore: [ :stream | stream write: ''Fooled!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'' ];
+                write: ''World!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'';
                 conclusion
 }}}
 {{{
         String new writing
                 write: ''Hello '';
-                explore: [ :stream | stream write: ''World!!!!!!!!!!!!!!!!'' ];
+                explore: [ :stream | stream write: ''World!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'' ];
                 -= 0;
                 conclusion
 }}}
@@ -203,7 +203,7 @@
 At times it is useful to be able to insert elements into the existing content of a positionable write stream. All the #write:... methods have an #insert:... equivalent for that purpose. Insert at the end of the stream has the same effect as write, similarly insert: on non-positionable stream is the same as write:.
 {{{
         String new writing
-                write: ''Hello World!!!!!!!!!!!!!!!!'';
+                write: ''Hello World!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'';
                 += 5;
                 insert: '', Hello'';
                 -= 0;
@@ -290,6 +290,13 @@
     )
 ! !
 
+!stx_goodies_xtreams_core class methodsFor:'description - project information'!
+
+legalCopyright
+
+        ^'Copyright 2010-2013 Cincom Systems, Martin Kobetic and Michael Lucas-Smith'
+! !
+
 !stx_goodies_xtreams_core class methodsFor:'documentation'!
 
 version_HG