ReadWriteStream.st
author claus
Sun, 09 Jan 1994 22:25:58 +0100
changeset 41 a14247b04d03
parent 5 67342904af11
child 88 81dacba7a63a
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
     1
"
5
67342904af11 *** empty log message ***
claus
parents: 3
diff changeset
     2
 COPYRIGHT (c) 1989 by Claus Gittinger
41
a14247b04d03 *** empty log message ***
claus
parents: 5
diff changeset
     3
              All Rights Reserved
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
     4
a27a279701f8 Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
a27a279701f8 Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
a27a279701f8 Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
a27a279701f8 Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
a27a279701f8 Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
a27a279701f8 Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
a27a279701f8 Initial revision
claus
parents:
diff changeset
    11
"
a27a279701f8 Initial revision
claus
parents:
diff changeset
    12
a27a279701f8 Initial revision
claus
parents:
diff changeset
    13
WriteStream subclass:#ReadWriteStream
a27a279701f8 Initial revision
claus
parents:
diff changeset
    14
       instanceVariableNames:''
a27a279701f8 Initial revision
claus
parents:
diff changeset
    15
       classVariableNames:''
a27a279701f8 Initial revision
claus
parents:
diff changeset
    16
       poolDictionaries:''
a27a279701f8 Initial revision
claus
parents:
diff changeset
    17
       category:'Streams'
a27a279701f8 Initial revision
claus
parents:
diff changeset
    18
!
a27a279701f8 Initial revision
claus
parents:
diff changeset
    19
a27a279701f8 Initial revision
claus
parents:
diff changeset
    20
ReadWriteStream comment:'
a27a279701f8 Initial revision
claus
parents:
diff changeset
    21
5
67342904af11 *** empty log message ***
claus
parents: 3
diff changeset
    22
COPYRIGHT (c) 1989 by Claus Gittinger
41
a14247b04d03 *** empty log message ***
claus
parents: 5
diff changeset
    23
              All Rights Reserved
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
    24
41
a14247b04d03 *** empty log message ***
claus
parents: 5
diff changeset
    25
$Header: /cvs/stx/stx/libbasic/ReadWriteStream.st,v 1.5 1994-01-09 21:23:34 claus Exp $
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
    26
'!
a27a279701f8 Initial revision
claus
parents:
diff changeset
    27
a27a279701f8 Initial revision
claus
parents:
diff changeset
    28
!ReadWriteStream methodsFor: 'access-reading'!
a27a279701f8 Initial revision
claus
parents:
diff changeset
    29
a27a279701f8 Initial revision
claus
parents:
diff changeset
    30
peek
41
a14247b04d03 *** empty log message ***
claus
parents: 5
diff changeset
    31
    "return the element to be read next without advancing read position.
a14247b04d03 *** empty log message ***
claus
parents: 5
diff changeset
    32
     If there are no more elements, nil is returned."
a14247b04d03 *** empty log message ***
claus
parents: 5
diff changeset
    33
a14247b04d03 *** empty log message ***
claus
parents: 5
diff changeset
    34
    (position > readLimit) ifTrue:[^ nil].
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
    35
    ^ collection at:position
a27a279701f8 Initial revision
claus
parents:
diff changeset
    36
!
a27a279701f8 Initial revision
claus
parents:
diff changeset
    37
a27a279701f8 Initial revision
claus
parents:
diff changeset
    38
next
41
a14247b04d03 *** empty log message ***
claus
parents: 5
diff changeset
    39
    "return the next element; advance read position.
a14247b04d03 *** empty log message ***
claus
parents: 5
diff changeset
    40
     If there are no more elements, nil is returned."
a14247b04d03 *** empty log message ***
claus
parents: 5
diff changeset
    41
a14247b04d03 *** empty log message ***
claus
parents: 5
diff changeset
    42
    |element|
a14247b04d03 *** empty log message ***
claus
parents: 5
diff changeset
    43
a14247b04d03 *** empty log message ***
claus
parents: 5
diff changeset
    44
    (position > readLimit) ifTrue:[^ nil].
a14247b04d03 *** empty log message ***
claus
parents: 5
diff changeset
    45
    element := collection at:position.
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
    46
    position := position + 1.
41
a14247b04d03 *** empty log message ***
claus
parents: 5
diff changeset
    47
    ^ element
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
    48
! !