WeakOrderedCollection.st
author Claus Gittinger <cg@exept.de>
Sat, 02 May 2020 21:40:13 +0200
changeset 5476 7355a4b11cb6
parent 4698 8831b25d2a85
permissions -rw-r--r--
#FEATURE by cg class: Socket class added: #newTCPclientToHost:port:domain:domainOrder:withTimeout: changed: #newTCPclientToHost:port:domain:withTimeout:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4698
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2018 by Claus Gittinger
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
              All Rights Reserved
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libbasic2' }"
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ NameSpace: Smalltalk }"
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
OrderedCollection subclass:#WeakOrderedCollection
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	instanceVariableNames:''
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	classVariableNames:''
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	poolDictionaries:''
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	category:'Collections-Sequenceable'
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!WeakOrderedCollection class methodsFor:'documentation'!
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
copyright
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
"
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
 COPYRIGHT (c) 2018 by Claus Gittinger
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
              All Rights Reserved
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
 This software is furnished under a license and may be used
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
 only in accordance with the terms of that license and with the
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 be provided or otherwise made available to, or used by, any
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
 other person.  No title to or ownership of the software is
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
 hereby transferred.
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
"
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
!
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
documentation
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
"
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
    This is an OrderedCollection with weak references to its element.
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
    Elements may vanish and are silently replaced by nil, if the
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    referred to element looses its last non-weak reference.
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
    The logical size of the instance or the element slots are not
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
    affected - thus, when an element is lost.
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
    So be prepared to get nil when accessing/enumerating.
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
"
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
! !
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
!WeakOrderedCollection methodsFor:'private'!
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
containerClass
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
    ^ WeakArray
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    "Created: / 30-07-2018 / 12:09:31 / Claus Gittinger"
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
! !
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
!WeakOrderedCollection class methodsFor:'documentation'!
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
version
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    ^ '$Header$'
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
!
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
version_CVS
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
    ^ '$Header$'
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
! !
8831b25d2a85 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67