TSMultiTree.st
author Claus Gittinger <cg@exept.de>
Sat, 02 May 2020 21:40:13 +0200
changeset 5476 7355a4b11cb6
parent 4120 12a40385a06b
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:
3250
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:libbasic2' }"
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
3667
f1a59ae2e064 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 3250
diff changeset
     3
"{ NameSpace: Smalltalk }"
f1a59ae2e064 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 3250
diff changeset
     4
3250
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
TSTree subclass:#TSMultiTree
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:''
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'Collections-Ordered-Trees'
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
!TSMultiTree class methodsFor:'documentation'!
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
documentation
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
"
4120
12a40385a06b #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3811
diff changeset
    16
    BTree and TSTree
12a40385a06b #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3811
diff changeset
    17
3667
f1a59ae2e064 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 3250
diff changeset
    18
    A bunch of collection classes that are useful for building large indices of things. 
f1a59ae2e064 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 3250
diff changeset
    19
    It's especially geared towards people using OODBs like GOODS, but can be used it in the image too: 
f1a59ae2e064 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 3250
diff changeset
    20
    the BTree class is great for when you need to select numeric keys by range, 
f1a59ae2e064 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 3250
diff changeset
    21
    and TSTree makes a solid basis for full-text search. 
f1a59ae2e064 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 3250
diff changeset
    22
    TreeSet has an interesting optimized #intersection: that lets you compare two collections without 
f1a59ae2e064 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 3250
diff changeset
    23
    looking at every item of either. 
f1a59ae2e064 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 3250
diff changeset
    24
3250
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
    TSMultiTree is pretty much like TSTree but it can store multiple
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    (different) values per key. Uses equality compare (=) to search for 
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
    the occurrence.
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
    [author:]
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
        Jan Vrany <jan.vrany@fit.cvut.cz>
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
    [instance variables:]
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
    [class variables:]
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    [see also:]
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
"
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
! !
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
3811
b820b2fcda5e #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3667
diff changeset
    41
!TSMultiTree class methodsFor:'queries'!
3250
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
3811
b820b2fcda5e #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3667
diff changeset
    43
treeNodeClass
b820b2fcda5e #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3667
diff changeset
    44
    ^ TSMultiTreeNode
3250
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
! !
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
!TSMultiTree class methodsFor:'documentation'!
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
version
3667
f1a59ae2e064 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 3250
diff changeset
    50
    ^ '$Header$'
3250
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
!
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
version_CVS
3667
f1a59ae2e064 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 3250
diff changeset
    54
    ^ '$Header$'
3250
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
! !
e1ae9376992c initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56