TwoByteString.st
author Claus Gittinger <cg@exept.de>
Sat, 16 Dec 1995 14:04:33 +0100
changeset 778 afbb3ebde874
parent 631 d43deb0ec558
child 992 f456f8f7d421
permissions -rw-r--r--
commentary
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
     1
"
a27a279701f8 Initial revision
claus
parents:
diff changeset
     2
 COPYRIGHT (c) 1993 by Claus Gittinger
235
d8e62525bfdf *** empty log message ***
claus
parents: 97
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
256
f59b4cfdc55a *** empty log message ***
claus
parents: 235
diff changeset
    13
CharacterArray subclass:#TwoByteString
608
cd5ac440fa95 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 530
diff changeset
    14
	 instanceVariableNames:''
cd5ac440fa95 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 530
diff changeset
    15
	 classVariableNames:''
cd5ac440fa95 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 530
diff changeset
    16
	 poolDictionaries:''
cd5ac440fa95 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 530
diff changeset
    17
	 category:'Collections-Text'
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
    18
!
a27a279701f8 Initial revision
claus
parents:
diff changeset
    19
89
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    20
!TwoByteString class methodsFor:'documentation'!
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    21
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    22
copyright
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    23
"
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    24
 COPYRIGHT (c) 1993 by Claus Gittinger
235
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    25
	      All Rights Reserved
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
    26
89
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    27
 This software is furnished under a license and may be used
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    28
 only in accordance with the terms of that license and with the
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    29
 inclusion of the above copyright notice.   This software may not
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    30
 be provided or otherwise made available to, or used by, any
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    31
 other person.  No title to or ownership of the software is
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    32
 hereby transferred.
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    33
"
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    34
!
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    35
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    36
documentation
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    37
"
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    38
    TwoByteStrings are like strings, but storing 16bits per character.
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    39
    The integration of them into the system is not completed ....
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    40
"
7be0b86ef80f *** empty log message ***
claus
parents: 73
diff changeset
    41
! !
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
    42
a27a279701f8 Initial revision
claus
parents:
diff changeset
    43
!TwoByteString class methodsFor:'instance creation'!
a27a279701f8 Initial revision
claus
parents:
diff changeset
    44
a27a279701f8 Initial revision
claus
parents:
diff changeset
    45
basicNew:anInteger
a27a279701f8 Initial revision
claus
parents:
diff changeset
    46
    "return a new empty string with anInteger characters"
a27a279701f8 Initial revision
claus
parents:
diff changeset
    47
63
1f0cdefb013f *** empty log message ***
claus
parents: 33
diff changeset
    48
    ^ (super basicNew:(anInteger*2)) atAllPut:(Character space)
235
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    49
!
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    50
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    51
fromJISString:aString
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    52
    "return a new string containing the characters of aString,
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    53
     which are taken as JIS encoded."
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    54
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    55
    |newString sz dstIdx singleBytes start stop n1 n2 n3 b1 b2 val|
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    56
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    57
    sz := aString size.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    58
    newString := self new:sz.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    59
    sz ~~ 0 ifTrue:[
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    60
	dstIdx := 1.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    61
	start := 1.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    62
	singleBytes := true.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    63
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    64
	[true] whileTrue:[
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    65
	    "scan for next escape"
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    66
	    stop := aString indexOf:(Character esc) startingAt:start.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    67
	    stop == 0 ifTrue:[
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    68
		stop := sz + 1.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    69
	    ] ifFalse:[
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    70
		(stop + 2) > sz ifTrue:[
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    71
		    stop := sz + 1.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    72
		]
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    73
	    ].
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    74
	    singleBytes ifTrue:[
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    75
		newString replaceFrom:dstIdx to:(dstIdx + (stop - start - 1))
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    76
				 with:aString startingAt:start.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    77
		dstIdx := dstIdx + (stop - start).
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    78
	    ] ifFalse:[
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    79
		start to:(stop - 1) by:2 do:[:i |
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    80
		    b1 := (aString at:i) asciiValue.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    81
		    b2 := (aString at:i+1) asciiValue.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    82
		    val := (b1 bitShift:8) bitOr:b2.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    83
		    newString at:dstIdx put:(Character value:val).
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    84
		    dstIdx := dstIdx + 1.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    85
		]
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    86
	    ].
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    87
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    88
	    stop > sz ifTrue:[
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    89
		^ newString copyFrom:1 to:dstIdx - 1.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    90
	    ].
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    91
	    start := stop.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    92
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    93
	    "
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    94
	     found an escape (at index stop) - check for ESC $ B
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    95
	    "
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    96
	    n1 := aString at:start.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    97
	    n2 := aString at:(start + 1).
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    98
	    n3 := aString at:(start + 2).
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
    99
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   100
	    (n2 == $$ and:[n3 == $B]) ifTrue:[
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   101
		singleBytes := false.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   102
	    ] ifFalse:[
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   103
		(n2 == $( and:[n3 == $B]) ifTrue:[
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   104
		    singleBytes := true.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   105
		] ifFalse:[
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   106
		    newString at:dstIdx put:n1.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   107
		    newString at:(dstIdx + 1) put:n2.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   108
		    newString at:(dstIdx + 2) put:n3.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   109
		    dstIdx := dstIdx + 3.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   110
		]
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   111
	    ].
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   112
	    start := start + 3.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   113
	    start > sz ifTrue:[
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   114
		^ newString copyFrom:1 to:dstIdx-1.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   115
	    ]
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   116
	]
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   117
    ].
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   118
    ^ newString
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   119
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   120
    "
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   121
     TwoByteString fromJISString:'hello'
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   122
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   123
     |s|
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   124
     s := 'hello' copyWith:Character esc.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   125
     TwoByteString fromJISString:s
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   126
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   127
     |s|
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   128
     s := 'hello' copyWith:Character esc.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   129
     s := s copyWith:$A.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   130
     TwoByteString fromJISString:s
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   131
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   132
     |s|
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   133
     s := 'hello' copyWith:Character esc.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   134
     s := s copyWith:$$.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   135
     TwoByteString fromJISString:s
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   136
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   137
     |s|
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   138
     s := 'hello' copyWith:Character esc.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   139
     s := s copyWith:$$.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   140
     s := s copyWith:$A.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   141
     TwoByteString fromJISString:s
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   142
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   143
     |s|
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   144
     s := 'hello' copyWith:Character esc.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   145
     s := s copyWith:$$.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   146
     s := s copyWith:$B.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   147
     TwoByteString fromJISString:s
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   148
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   149
     |s|
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   150
     s := 'hello' copyWith:Character esc.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   151
     s := s copyWith:$$.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   152
     s := s copyWith:$B.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   153
     s := s , '$N'.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   154
     TwoByteString fromJISString:s
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   155
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   156
     |s|
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   157
     s := 'hello' copyWith:Character esc.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   158
     s := s copyWith:$$.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   159
     s := s copyWith:$B.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   160
     s := s , '$N4A;z'.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   161
     TwoByteString fromJISString:s
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   162
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   163
     |s|
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   164
     s := 'hello' copyWith:Character esc.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   165
     s := s copyWith:$$.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   166
     s := s copyWith:$B.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   167
     s := s , '$N'.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   168
     s := s copyWith:Character esc.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   169
     s := s copyWith:$(.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   170
     s := s copyWith:$B.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   171
     s := s , 'hello'.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   172
     TwoByteString fromJISString:s
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   173
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   174
     |s t l|
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   175
     s := 'kterm ' copyWith:Character esc.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   176
     s := s copyWith:$$.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   177
     s := s copyWith:$B.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   178
     s := s , '$N4A;zC<Kv%(%_%e%l!!<%?'.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   179
     s := s copyWith:Character esc.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   180
     s := s copyWith:$(.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   181
     s := s copyWith:$B.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   182
     s := s , ' kterm'.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   183
     t := TwoByteString fromJISString:s.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   184
     l := Label new.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   185
     l label:t.
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   186
     l font:(Font family:'k14' face:nil style:nil size:nil).
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   187
     l realize
d8e62525bfdf *** empty log message ***
claus
parents: 97
diff changeset
   188
    "
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
   189
! !
a27a279701f8 Initial revision
claus
parents:
diff changeset
   190
a27a279701f8 Initial revision
claus
parents:
diff changeset
   191
!TwoByteString methodsFor:'accessing'!
a27a279701f8 Initial revision
claus
parents:
diff changeset
   192
a27a279701f8 Initial revision
claus
parents:
diff changeset
   193
basicAt:index
a27a279701f8 Initial revision
claus
parents:
diff changeset
   194
    "return the character at position index, an Integer
73
a6640cc96199 *** empty log message ***
claus
parents: 63
diff changeset
   195
     - reimplemented here since we return 16-bit characters"
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
   196
63
1f0cdefb013f *** empty log message ***
claus
parents: 33
diff changeset
   197
    |val i|
1f0cdefb013f *** empty log message ***
claus
parents: 33
diff changeset
   198
1f0cdefb013f *** empty log message ***
claus
parents: 33
diff changeset
   199
    i := (index * 2) - 1.
73
a6640cc96199 *** empty log message ***
claus
parents: 63
diff changeset
   200
    "always msb first"
a6640cc96199 *** empty log message ***
claus
parents: 63
diff changeset
   201
    val := (super basicAt:(i+1)) + ((super basicAt:i) * 256).
63
1f0cdefb013f *** empty log message ***
claus
parents: 33
diff changeset
   202
    ^ Character value:val
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
   203
!
a27a279701f8 Initial revision
claus
parents:
diff changeset
   204
a27a279701f8 Initial revision
claus
parents:
diff changeset
   205
basicAt:index put:aCharacter
a27a279701f8 Initial revision
claus
parents:
diff changeset
   206
    "store the argument, aCharacter at position index, an Integer
73
a6640cc96199 *** empty log message ***
claus
parents: 63
diff changeset
   207
     - reimplemented here since we store 16-bit characters"
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
   208
63
1f0cdefb013f *** empty log message ***
claus
parents: 33
diff changeset
   209
    |val i|
1f0cdefb013f *** empty log message ***
claus
parents: 33
diff changeset
   210
    val := aCharacter asciiValue.
1f0cdefb013f *** empty log message ***
claus
parents: 33
diff changeset
   211
    i := (index * 2) - 1.
73
a6640cc96199 *** empty log message ***
claus
parents: 63
diff changeset
   212
    "always msb first"
a6640cc96199 *** empty log message ***
claus
parents: 63
diff changeset
   213
    super basicAt:(i+1) put:(val bitAnd:16rFF).
a6640cc96199 *** empty log message ***
claus
parents: 63
diff changeset
   214
    super basicAt:i put:(val // 256).
63
1f0cdefb013f *** empty log message ***
claus
parents: 33
diff changeset
   215
    ^ aCharacter
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
   216
! !
608
cd5ac440fa95 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 530
diff changeset
   217
cd5ac440fa95 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 530
diff changeset
   218
!TwoByteString methodsFor:'queries'!
cd5ac440fa95 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 530
diff changeset
   219
cd5ac440fa95 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 530
diff changeset
   220
basicSize
cd5ac440fa95 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 530
diff changeset
   221
    "return the size of the receiver.
cd5ac440fa95 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 530
diff changeset
   222
     (i.e. the number of characters in this String)"
cd5ac440fa95 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 530
diff changeset
   223
cd5ac440fa95 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 530
diff changeset
   224
    ^ super basicSize // 2
cd5ac440fa95 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 530
diff changeset
   225
! !
cd5ac440fa95 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 530
diff changeset
   226
631
d43deb0ec558 version at the end
Claus Gittinger <cg@exept.de>
parents: 608
diff changeset
   227
!TwoByteString class methodsFor:'documentation'!
d43deb0ec558 version at the end
Claus Gittinger <cg@exept.de>
parents: 608
diff changeset
   228
d43deb0ec558 version at the end
Claus Gittinger <cg@exept.de>
parents: 608
diff changeset
   229
version
d43deb0ec558 version at the end
Claus Gittinger <cg@exept.de>
parents: 608
diff changeset
   230
    ^ '$Header: /cvs/stx/stx/libbasic/TwoByteString.st,v 1.15 1995-11-23 17:25:21 cg Exp $'
d43deb0ec558 version at the end
Claus Gittinger <cg@exept.de>
parents: 608
diff changeset
   231
! !