www.digitalmars.com         C & C++   DMDScript  

D - String class

reply Ant <Ant_member pathlink.com> writes:
I believe once I saw a String class submited on
this group to be added to phobos
(seems that it never made it - I think it was from Burton Radons).

(A standard String class should be available)

Any one has that String class (or another that can be shared)
or remember how to get it?

Thanks

Ant
Nov 01 2003
next sibling parent reply Ant <Ant_member pathlink.com> writes:
In article <bo0s52$cqn$1 digitaldaemon.com>, Ant says...
I believe once I saw a String class submited on
this group to be added to phobos
(seems that it never made it - I think it was from Burton Radons).

(A standard String class should be available)
Probably what I saw was D/6204 (seems nothing from there got into phobos) anybody has a String class to share with us? Ant
Nov 01 2003
next sibling parent reply "Sean L. Palmer" <palmer.sean verizon.net> writes:
I think it would be super great if char[] were powerful enough that we don't
need any string class.

Most of the basics of C strings, such as strcpy, strcat, strlen, are already
handled by char[] and slices of char[], and array concatenation ~.  Many
other basic string functions are actually useful on other kinds of arrays as
well.  Array search, array comparison.  So there's no need to make such
functions specific to char[] only.

There are plenty of issues regarding Unicode encoding that just don't fit
well with char[].  case-sensitive or locale-specific comparisons, "indexing"
of UTF-8 encoded strings, etc.  And we do need some place to hang functions
that work on strings, something that hopefully will eliminate the need for
"str" prefixes on the function names.

Sean

"Ant" <Ant_member pathlink.com> wrote in message
news:bo0tas$ej4$1 digitaldaemon.com...
 In article <bo0s52$cqn$1 digitaldaemon.com>, Ant says...
I believe once I saw a String class submited on
this group to be added to phobos
(seems that it never made it - I think it was from Burton Radons).

(A standard String class should be available)
Probably what I saw was D/6204 (seems nothing from there got into phobos) anybody has a String class to share with us? Ant
Nov 01 2003
parent Ant <Ant_member pathlink.com> writes:
In article <bo178s$s3p$1 digitaldaemon.com>, Sean L. Palmer says...
I think it would be super great if char[] were powerful enough that we don't
need any string class.
The main problem is that char[] is not an object.
There are plenty of issues regarding Unicode encoding that just don't fit
well with char[].  case-sensitive or locale-specific comparisons, "indexing"
of UTF-8 encoded strings, etc.  And we do need some place to hang functions
that work on strings,
How about a String class? ;) Ant
Nov 02 2003
prev sibling parent Ant <Ant_member pathlink.com> writes:
anybody has a String class to share with us?
I just looked at STL. (I used C++ on DOS, not even on windows 3.0) it seems that it contains a string thing so I guess we are all waiting for the big D lib, ok, let's wait. Ant
Nov 03 2003
prev sibling parent reply "Vathix" <vathix dprogramming.com> writes:
I made this a few weeks ago.




begin 666 stringclass.d
M+R\ 5W)I='1E;B!B>2!#:')I<R!%+B!-:6QL97(-"B\O('=W=RYD<')O9W)A
M;6UI;F<N8V]M#0HO+R!4:&]U(&UA>2!U<V4 =&AI<R!C;V1E(&9R965L>2!A
M="!T:&EN92!O=VX <FES:PT*+R\ 02!L;W0 ;V8 8V]D92!I<R!T86ME;B!F
M<F]M('1H92!O<FEG:6]N86P <W1R:6YG+F0 =W)I='1E;B!B>2!786QT97( 
M0G)I9VAT#0H-" T*:6UP;W)T('-T<FEN9SL-"FEM<&]R="!C<F,S,CL-"FEM
M<&]R="!O8FIE8W0[("\O9F]R('!R:6YT9B]W<')I;G1F#0H-" T*=&5M<&QA
M=&4 4W1R:6YG<RA4*0T*>PT*"6%L:6%S(%0 <V-H87([#0H)#0H)#0H)<')I
M=F%T92!A;&EA<R!T;U-T<FEN9WH 7W1O4W1R:6YG>CL-" ES8VAA<BH =&]3
M=')I;F=Z*'-C:&%R6UT <V,I#0H)>PT*"0ES8VAA<BH <" ]("9S8ULP72 K
M('-C+FQE;F=T:#L-" D):68H(2IP*0T*"0D)<F5T=7)N('-C.PT*"0D-" D)
M<V-H87);72!R97-U;'0 /2!N97< <V-H87);<V,N;&5N9W1H("L ,5T[#0H)
M"7)E<W5L=%LP("XN('-C+FQE;F=T:%T /2!S8SL-" D)<F5T=7)N(')E<W5L
M=#L-" E]#0H)#0H)#0H)<')I=F%T92!A;&EA<R!T;U-T<FEN9R!?=&]3=')I
M;F<[#0H)<V-H87);72!T;U-T<FEN9RAS8VAA<BH <V-Z*2 O+W1A:V5S(&$ 
M;G5L;"UT97)M:6YA=&5D('-T<FEN9PT*"7L-" D):68H(7-C>BD-" D)"7)E
M='5R;B!N=6QL.PT*"0D-" D)=6EN="!I.PT*"0EF;W(H:2 ](# [.R!I*RLI
M#0H)"7L-" D)"6EF*"%S8WI;:5TI#0H)"0D)<F5T=7)N('-C>ELP("XN(&E=
M.PT*"0E]#0H)?0T*"0T*"0T*"7-C:&%R6UT =&]3=')I;F<H=6EN="!U*2 O
M+W1O(&$ <W1R:6YG(&]F(&UE;6]R>0T*"7L-" D)<V-H87);=6EN="YS:7IE
M("H ,UT 8G5F9F5R.PT*"0EI;G0 ;F1I9VET<SL-" D)<V-H87( 8SL-" D)
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
M;&%C93L-" ES8VAA<EM=(')E<&QA8V4H<V-H87);72!S8RP <V-H87);72!F
M<F]M+"!S8VAA<EM=('1O*0T*"7L-" D)<V-H87);72!P.PT*"0EI;G0 :3L-
M" D):6YT(&ES=&%R=#L-" D)#0H)"6ES=&%R=" ](# [#0H)"7=H:6QE*&ES
M=&%R=" \('-C+FQE;F=T:"D-" D)>PT*"0D):2 ](&9I;F0H<V-;:7-T87)T
M("XN('-C+FQE;F=T:%TL(&9R;VTI.PT*"0D):68H:2 ]/2 M,2D-" D)"7L-
M" D)"0EP('X]('-C6VES=&%R=" N+B!S8RYL96YG=&A=.PT*"0D)"6)R96%K
M.PT*"0D)?0T*"0D)<"!^/2!S8UMI<W1A<G0 +BX :7-T87)T("L :5T[#0H)
M"0EP('X]('1O.PT*"0D):7-T87)T("L](&D *R!F<F]M+FQE;F=T:#L-" D)
M?0T*"0ER971U<FX <#L-" E]#0H)#0H)#0H)<')I=F%T92!A;&EA<R!R97!L
M86-E4VQI8V4 7W)E<&QA8V53;&EC93L-" ES8VAA<EM=(')E<&QA8V53;&EC
M92AS8VAA<EM=('-T<FEN9RP <V-H87);72!S;&EC92P <V-H87);72!R97!L
M86-E;65N="D-" EI; T*"7L-" D)+R\ 5F5R:69Y('1H870 <VQI8V5;72!R
M96%L;'D :7, 82!S;&EC92!O9B!S=')I;F=;70T*"0EI;G0 <V\ /2 H<V-H
M87(J*7-L:6-E("T *'-C:&%R*BES=')I;F<[#0H)"6%S<V5R="AS;R ^/2 P
M*3L-" D)87-S97)T*'-T<FEN9RYL96YG=&  /CT <V\ *R!S;&EC92YL96YG
M=& I.PT*"7T-" EB;V1Y#0H)>PT*"0ES8VAA<EM=(')E<W5L=#L-" D):6YT
M('-O(#T *'-C:&%R*BES;&EC92 M("AS8VAA<BHI<W1R:6YG.PT*"0D-" D)
M<F5S=6QT+FQE;F=T:" ]('-T<FEN9RYL96YG=&  +2!S;&EC92YL96YG=&  
M*R!R97!L86-E;65N="YL96YG=& [#0H)"0T*"0ER97-U;'1;," N+B!S;UT 
M/2!S=')I;F=;," N+B!S;UT[#0H)"7)E<W5L=%MS;R N+B!S;R K(')E<&QA
M8V5M96YT+FQE;F=T:%T /2!R97!L86-E;65N=#L-" D)<F5S=6QT6W-O("L 
M<F5P;&%C96UE;G0N;&5N9W1H("XN(')E<W5L="YL96YG=&A=(#T <W1R:6YG
M6W-O("L <VQI8V4N;&5N9W1H("XN('-T<FEN9RYL96YG=&A=.PT*"0D-" D)
M<F5T=7)N(')E<W5L=#L-" E]#0H)#0H)#0H)<')I=F%T92!A;&EA<R!I;G-E
M<G0 7VEN<V5R=#L-" ES8VAA<EM=(&EN<V5R="AS8VAA<EM=('-C+"!I;G0 
M:6YD97 L('-C:&%R6UT <W5B*0T*"6EN#0H)>PT*"0EA<W-E<G0H," \/2!I
M;F1E>" F)B!I;F1E>" \/2!S8RYL96YG=& I.PT*"7T-" EB;V1Y#0H)>PT*
M"0EI9BAS=6(N;&5N9W1H(#T](# I#0H)"0ER971U<FX <V,[#0H)"0T*"0EI
M9BAS8RYL96YG=&  /3T ,"D-" D)"7)E='5R;B!S=6([#0H)"0T*"0EI;G0 
M;F5W;&5N9W1H(#T <V,N;&5N9W1H("L <W5B+FQE;F=T:#L-" D)<V-H87);
M72!R97-U;'0 /2!N97< <V-H87);;F5W;&5N9W1H73L-" D)#0H)"7)E<W5L
M=%LP("XN(&EN9&5X72 ]('-C6S  +BX :6YD97A=.PT*"0ER97-U;'1;:6YD
M97  +BX :6YD97  *R!S=6(N;&5N9W1H72 ]('-U8CL-" D)<F5S=6QT6VEN
M9&5X("L <W5B+FQE;F=T:" N+B!N97=L96YG=&A=(#T <V-;:6YD97  +BX 
M<V,N;&5N9W1H73L-" D)<F5T=7)N(')E<W5L=#L-" E]#0H)#0H)#0H)<')I
M=F%T92!A;&EA<R!S<&QI="!?<W!L:70[#0H)<V-H87);75M=('-P;&ET*'-C
M:&%R6UT <V,I#0H)>PT*"0EU:6YT(&D[#0H)"75I;G0 :7-T87)T.PT*"0EI
M;G0 :6YW;W)D.PT*"0ES8VAA<EM=6UT =V]R9',[#0H)"0T*"0EI;G=O<F0 
M/2 P.PT*"0EF;W( *&D /2 P.R!I(#P <V,N;&5N9W1H.R!I*RLI#0H)"7L-
M" D)"7-W:71C:"AS8UMI72D-" D)"7L-" D)"0EC87-E("< )SH-" D)"0EC
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
M9W1H("XN('=I9'1H72 ]("AS8VAA<BDG("<[#0H)"7)E='5R;B!R.PT*"7T-
M" D-" D-" EP<FEV871E(&%L:6%S(')J=7-T:69Y(%]R:G5S=&EF>3L-" ES
M8VAA<EM=(')J=7-T:69Y*'-C:&%R6UT <V,L(&EN="!W:61T:"D-" E[#0H)
M"6EF*'-C+FQE;F=T:" ^/2!W:61T:"D-" D)"7)E='5R;B!S8SL-" D)<V-H
M87);72!R(#T ;F5W('-C:&%R6W=I9'1H73L-" D)<ELP("XN('=I9'1H("T 
M<V,N;&5N9W1H72 ]("AS8VAA<BDG("<[#0H)"7);=VED=&  +2!S8RYL96YG
M=&  +BX =VED=&A=(#T <V,[#0H)"7)E='5R;B!R.PT*"7T-" D-" EP<FEV
M871E(&%L:6%S(&-E;G1E<B!?8V5N=&5R.PT*"7-C:&%R6UT 8V5N=&5R*'-C
M:&%R6UT <V,L(&EN="!W:61T:"D-" E[#0H)"6EF*'-C+FQE;F=T:" ^/2!W
M:61T:"D-" D)"7)E='5R;B!S8SL-" D)<V-H87);72!R(#T ;F5W('-C:&%R
M6W=I9'1H73L-" D):6YT(&QE9G0 /2 H=VED=&  +2!S8RYL96YG=& I("\ 
M,CL-" D)<ELP("XN(&QE9G1=(#T *'-C:&%R*2< )SL-" D)<EML969T("XN
M(&QE9G0 *R!S8RYL96YG=&A=(#T <V,[#0H)"7);;&5F=" K('-C+FQE;F=T
M:" N+B!W:61T:%T /2 H<V-H87(I)R G.PT*"0ER971U<FX <CL-" E]#0H)
M#0H)#0H)<')I=F%T92!A;&EA<R!Z9FEL;"!?>F9I;&P[#0H)<V-H87);72!Z
M9FEL;"AS8VAA<EM=('-C+"!I;G0 =VED=& I#0H)>PT*"0EI9BAS8RYL96YG
M=&  /CT =VED=& I#0H)"0ER971U<FX <V,[#0H)"7-C:&%R6UT <B ](&YE
M=R!S8VAA<EMW:61T:%T[#0H)"7);," N+B!W:61T:" M('-C+FQE;F=T:%T 
M/2 H<V-H87(I)S G.PT*"0ER6W=I9'1H("T <V,N;&5N9W1H("XN('=I9'1H
M72 ]('-C.PT*"0ER971U<FX <CL-" E]#0H)#0H)#0H)<')I=F%T92!A;&EA
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
M"0T*"0EV;VED(&QE;F=T:"AU:6YT(&YE=TQE;BD +R]S971T97(-" D)>PT*
M"0D):68H;F5W3&5N(#X 9&%T82YL96YG=& I#0H)"0E[#0H)"0D)9&%T82YL
M96YG=&  /2!N97=,96X[#0H)"0D);&5N(#T ;F5W3&5N.PT*"0D)?0T*"0D)
M96QS90T*"0D)>PT*"0D)"6QE;B ](&YE=TQE;CL-" D)"7T-" D)?0T*"0D-
M" D)#0H)"75I;G0 <F5S97)V92 I("\O9V5T=&5R#0H)"7L-" D)"7)E='5R
M;B!D871A+FQE;F=T:#L-" D)?0T*"0D-" D)#0H)"79O:60 <F5S97)V92AU
M:6YT(&QE;F=T:"D +R]S971T97(-" D)>PT*"0D):68H;&5N9W1H(#X](&QE
M;BD-" D)"0ED871A+FQE;F=T:" ](&QE;F=T:#L-" D)?0T*"0D-" D)#0H)
M"2\O<V5T<R!T:&4 9&%T80T*"0DO+VUA:V4 <W5R92!T:&4 ;F5W(&1A=&$ 
M:7-N)W0 <&%R="!O9B!T:&4 ;VQD#0H)"2\O:68 :70 :7,L(&IU<W0 8V]N
M<W1R=6-T(&$ ;F5W(&]B:F5C= T*"0DO+W1H:7, :7, =&\ 8V]N=&EN=64 
M=7-I;F< =&AE('-A;64 ;65M;W)Y(&%N9"!S86UE(')E<V5R=F4 *&EF('!O
M<W-I8FQE*0T*"0E3=')I;F< ;W!#86QL*'-C:&%R6UT <V,I#0H)"7L-" D)
M"6EF*'-C+FQE;F=T:" \/2!D871A+FQE;F=T:"D-" D)"7L-" D)"0ED871A
M6S  +BX <V,N;&5N9W1H72 ]('-C.PT*"0D)"6QE;B ]('-C+FQE;F=T:#L-
M" D)"7T-" D)"65L<V4-" D)"7L-" D)"0ED871A(#T <V,N9'5P.PT*"0D)
M"6QE;B ]('-C+FQE;F=T:#L-" D)"7T-" D)"7)E='5R;B!T:&ES.PT*"0E]
M#0H)"0T*"0D-" D)4W1R:6YG(&]P0V%L;"A3=')I;F< <W1R*0T*"0E[#0H)
M"0ER971U<FX ;W!#86QL*'-T<EM=*3L-" D)?0T*"0D-" D)#0H)"6]V97)R
M:61E('5I;G0 =&](87-H*"D-" D)>PT*"0D)<F5T=7)N(%]T;TAA<V H;W!3
M;&EC92 I*3L-" D)?0T*"0D-" D)#0H)"6]V97)R:61E('9O:60 <')I;G0H
M*0T*"0E[#0H)"0EI9BAS8VAA<BYS:7IE(#T](&-H87(N<VEZ92D-" D)"0EP
M<FEN=&8H(B4N*G-<;B(L(&]P4VQI8V4H*2D[#0H)"0EE;'-E(&EF*'-C:&%R
M+G-I>F4 /3T =V-H87(N<VEZ92D-" D)"0EW<')I;G1F*"(E+BIS7&XB+"!O
M<%-L:6-E*"DI.PT*"0D)96QS90T*"0D)"7!R:6YT9B B4W1R:6YG("5P7&XB
M+"!T:&ES*3L-" D)?0T*"0D-" D)#0H)"6]V97)R:61E(&-H87);72!T;U-T
M<FEN9R I("\O=&\ 82!S=')I;F< ;V8 ;65M;W)Y+"!N;W0 4W1R:6YG(&-L
M87-S(#HI#0H)"7L-" D)"6EF*'-C:&%R+G-I>F4 /3T 8VAA<BYS:7IE*0T*
M"0D)"7)E='5R;B!C87-T*&-H87);72EO<%-L:6-E*"D[#0H)"0D-" D)"6-H
M87);72!R97-U;'0 /2!N97< 8VAA<EML96Y=.PT*"0D)=6EN="!I.PT*"0D)
M9F]R*&D /2 P.R!I("$](&QE;CL :2LK*0T*"0D)>PT*"0D)"6EF*&1A=&%;
M:5T /B!C:&%R+FUA>"D-" D)"0D)<F5S=6QT6VE=(#T )S\G.R O+VUI9VAT
M(&YO="!B92!T:&ES(&-H87)A8W1E< T*"0D)"65L<V4-" D)"0D)<F5S=6QT
M6VE=(#T 8V%S="AC:&%R*61A=&%;:5T[#0H)"0E]#0H)"0D-" D)"7)E='5R
M;B!R97-U;'0[#0H)"7T-" D)#0H)"0T*"0ES8VAA<BH =&]3=')I;F=Z*"D 
M+R]M;W)E(&5F9FEC:65N="!U<V5D('=I=&  =&AI<R!3=')I;F< 8VQA<W, 
M=&AA;B!?=&]3=')I;F=Z#0H)"7L-" D)"6EF*&QE;B ]/2!D871A+FQE;F=T
M:"D +R]N965D('1O(&UA:V4 <F]O;2!F;W( ;G5L;"!I;B!R97-E<G9E#0H)
M"0E[#0H)"0D)9&%T82YL96YG=&  /2!D871A+FQE;F=T:" K(#$[#0H)"0D)
M9&%T85ML96Y=(#T ,#L-" D)"7T-" D)"65L<V4-" D)"7L-" D)"0DO+VEF
M*&1A=&%;;&5N72D +R]A(&AA<FUL97-S(&%S<VEG;FUE;G0 :7, ;6]R92!E
M9F9I8VEE;G0 =&AA;B!T97-T:6YG+"!R:6=H=#\-" D)"0D)9&%T85ML96Y=
M(#T ,#L-" D)"7T-" D)"0T*"0D)<F5T=7)N("9D871A6S!=.PT*"0E]#0H)
M"0T*"0D-" D)<V-H87);72!O<%-L:6-E*"D-" D)>PT*"0D)<F5T=7)N(&1A
M=&%;," N+B!L96Y=.PT*"0E]#0H)"0T*"0D-" D)<V-H87);72!O<%-L:6-E
M*'5I;G0 >"P =6EN="!Y*0T*"0E[#0H)"0ER971U<FX ;W!3;&EC92 I6W  
M+BX >5T[("\O<V\ :6YD97AI;F< =&AE(')E<V5R=F4 :7, ;W5T(&]F(&)O
M=6YD<PT*"0E]#0H)"0T*"0D-" D)<V-H87( ;W!);F1E>"AU:6YT(&DI#0H)
M"7L-" D)"7)E='5R;B!O<%-L:6-E*"E;:5T[("\O<V\ :6YD97AI;F< =&AE
M(')E<V5R=F4 :7, ;W5T(&]F(&)O=6YD<PT*"0E]#0H)"0T*"0D-" D)4W1R
M:6YG(&-A=&%S<RA3=')I;F< <W1R*0T*"0E[#0H)"0ER971U<FX 8V%T87-S
M*'-T<EM=*3L-" D)?0T*"0D-" D)#0H)"5-T<FEN9R!C871A<W,H<V-H87);
M72!S8RD-" D)>PT*"0D):68H9&%T82YL96YG=&  /"!S8RYL96YG=&  *R!L
M96XI#0H)"0D)9&%T82YL96YG=&  /2!S8RYL96YG=&  *R!L96X[#0H)"0ED
M871A6VQE;B N+B!L96X *R!S8RYL96YG=&A=(#T <V,[#0H)"0EL96X *ST 
M<V,N;&5N9W1H.PT*"0D)<F5T=7)N('1H:7,[#0H)"7T-" D)#0H)"0T*"0E3
M=')I;F< 8V%T87-S*'-C:&%R(&-H*0T*"0E[#0H)"0ER971U<FX 8V%T87-S
M*" F8V I6S  +BX ,5TI.PT*"0E]#0H)"0T*"0D-" D)4W1R:6YG(&-A=&%S
M<RAU:6YT('4I#0H)"7L-" D)"7)E='5R;B!C871A<W,H7W1O4W1R:6YG*'4I
M*3L-" D)?0T*"0D-" D)#0H)"5-T<FEN9R!C870H4W1R:6YG('-T<BD-" D)
M>PT*"0D)<F5T=7)N(&YE=R!3=')I;F<H;W!3;&EC92 I('X <W1R6UTI.PT*
M"0E]#0H)"0T*"0D-" D)4W1R:6YG(&-A="AS8VAA<EM=('-C*0T*"0E[#0H)
M"0ER971U<FX ;F5W(%-T<FEN9RAO<%-L:6-E*"D ?B!S8RD[#0H)"7T-" D)
M#0H)"0T*"0E3=')I;F< 8V%T*'5I;G0 =2D-" D)>PT*"0D)<F5T=7)N(&-A
M="A?=&]3=')I;F<H=2DI.PT*"0E]#0H)"0T*"0D-" D)4W1R:6YG(&-A="AS
M8VAA<B!C:"D-" D)>PT*"0D)<F5T=7)N(&YE=R!3=')I;F<H;W!3;&EC92 I
M('X *"9C:"E;," N+B Q72D[#0H)"7T-" D)#0H)"0T*"0E3=')I;F< 8V%T
M7W(H4W1R:6YG('-T<BD-" D)>PT*"0D)<F5T=7)N(&YE=R!3=')I;F<H<W1R
M6UT ?B!O<%-L:6-E*"DI.PT*"0E]#0H)"0T*"0D-" D)4W1R:6YG(&-A=%]R
M*'-C:&%R6UT <V,I#0H)"7L-" D)"7)E='5R;B!N97< 4W1R:6YG*'-C('X 
M;W!3;&EC92 I*3L-" D)?0T*"0D-" D)#0H)"5-T<FEN9R!C871?<BAS8VAA
M<B!C:"D-" D)>PT*"0D)<F5T=7)N(&YE=R!3=')I;F<H*"9C:"E;," N+B Q
M72!^(&]P4VQI8V4H*2D[#0H)"7T-" D)#0H)"0T*"0E3=')I;F< 8V%T7W(H
M=6EN="!U*0T*"0E[#0H)"0ER971U<FX 8V%T7W(H7W1O4W1R:6YG*'4I*3L-
M" D)?0T*"0D-" D)#0H)"6]V97)R:61E(&EN="!E<2A/8FIE8W0 <W1R*0T*
M"0E[#0H)"0EA<W-E<G0H8V%S="A3=')I;F<I<W1R*3L-" D)"7)E='5R;B!E
M<2AC87-T*%-T<FEN9RES='(I.PT*"0E]#0H)"0T*"0D-" D):6YT(&5Q*%-T
M<FEN9R!S='(I#0H)"7L-" D)"7)E='5R;B!O<%-L:6-E*"D /3T <W1R6UT[
M#0H)"7T-" D)#0H)"0T*"0EI;G0 97$H<V-H87);72!S8RD-" D)>PT*"0D)
M<F5T=7)N(&]P4VQI8V4H*2 ]/2!S8SL-" D)?0T*"0D-" D)#0H)"6]V97)R
M:61E(&EN="!C;7 H3V)J96-T('-T<BD-" D)>PT*"0D)87-S97)T*&-A<W0H
M4W1R:6YG*7-T<BD[#0H)"0ER971U<FX 8VUP*&-A<W0H4W1R:6YG*7-T<BD[
M#0H)"7T-" D)#0H)"0T*"0EI;G0 8VUP*%-T<FEN9R!S='(I#0H)"7L-" D)
M"7)E='5R;B!C;7 H<W1R6UTI.PT*"0E]#0H)"0T*"0D-" D):6YT(&-M<"AS
M8VAA<EM=('-C*0T*"0E[#0H)"0ER971U<FX 7V-M<"AO<%-L:6-E*"DL('-C
M*3L-" D)?0T*"0D-" D)#0H)"6EN="!I8VUP*%-T<FEN9R!S='(I#0H)"7L-
M" D)"7)E='5R;B!I8VUP*'-T<EM=*3L-" D)?0T*"0D-" D)#0H)"6EN="!I
M8VUP*'-C:&%R6UT <V,I#0H)"7L-" D)"7)E='5R;B!?:6-M<"AO<%-L:6-E
M*"DL('-C*3L-" D)?0T*"0D-" D)#0H)"5-T<FEN9R!T;VQO=V5R*"D +R]C
M86QL97( 9&]E<R!N;W0 ;W=N(')E='5R;F5D('-T<FEN9PT*"0E[#0H)"0ES
M8VAA<EM=('-C(#T 7W1O;&]W97(H;W!3;&EC92 I*3L-" D)"7)E='5R;B H
M)G-C6S!=(#T]("9D871A6S!=*2 _('1H:7, .B!N97< 4W1R:6YG*'-C*3L-
M" D)?0T*"0D-" D)#0H)"5-T<FEN9R!T;W5P<&5R*"D +R]C86QL97( 9&]E
M<R!N;W0 ;W=N(')E='5R;F5D('-T<FEN9PT*"0E[#0H)"0ES8VAA<EM=('-C
M(#T 7W1O=7!P97(H;W!3;&EC92 I*3L-" D)"7)E='5R;B H)G-C6S!=(#T]
M("9D871A6S!=*2 _('1H:7, .B!N97< 4W1R:6YG*'-C*3L-" D)?0T*"0D-
M" D)#0H)"6EN="!F:6YD*'-C:&%R(&-H*0T*"0E[#0H)"0ER971U<FX 7V9I
M;F0H;W!3;&EC92 I+"!C:"D[#0H)"7T-" D)#0H)"0T*"0EI;G0 <F9I;F0H
M<V-H87( 8V I#0H)"7L-" D)"7)E='5R;B!?<F9I;F0H;W!3;&EC92 I+"!C
M:"D[#0H)"7T-" D)#0H)"0T*"0EI;G0 9FEN9"AS8VAA<EM=('-U8BD-" D)
M>PT*"0D)<F5T=7)N(%]F:6YD*&]P4VQI8V4H*2P <W5B*3L-" D)?0T*"0D-
M" D)#0H)"6EN="!F:6YD*%-T<FEN9R!S=6(I#0H)"7L-" D)"7)E='5R;B!F
M:6YD*'-U8EM=*3L-" D)?0T*"0D-" D)#0H)"6EN="!R9FEN9"AS8VAA<EM=
M('-U8BD-" D)>PT*"0D)<F5T=7)N(%]R9FEN9"AO<%-L:6-E*"DL('-U8BD[
M#0H)"7T-" D)#0H)"0T*"0EI;G0 <F9I;F0H4W1R:6YG('-U8BD-" D)>PT*
M"0D)<F5T=7)N(')F:6YD*'-U8EM=*3L-" D)?0T*"0D-" D)#0H)"6EN="!C
M;W5N="AS8VAA<EM=('-U8BD-" D)>PT*"0D)<F5T=7)N(%]C;W5N="AO<%-L
M:6-E*"DL('-U8BD[#0H)"7T-" D)#0H)"0T*"0EI;G0 8V]U;G0H4W1R:6YG
M('-U8BD-" D)>PT*"0D)<F5T=7)N(&-O=6YT*'-U8EM=*3L-" D)?0T*"0D-
M" D)#0H)"5-T<FEN9R!R97!L86-E*'-C:&%R6UT 9G)O;2P <V-H87);72!T
M;RD-" D)>PT*"0D)<F5T=7)N(&YE=R!3=')I;F<H7W)E<&QA8V4H;W!3;&EC
M92 I+"!F<F]M+"!T;RDI.PT*"0E]#0H)"0T*"0D-" D)4W1R:6YG(')E<&QA
M8V4H4W1R:6YG(&9R;VTL(%-T<FEN9R!T;RD-" D)>PT*"0D)<F5T=7)N(')E
M<&QA8V4H9G)O;5M=+"!T;UM=*3L-" D)?0T*"0D-" D)#0H)"5-T<FEN9R!R
M97!L86-E4VQI8V4H<V-H87);72!S;&EC92P <V-H87);72!R97!L86-E;65N
M="D-" D)>PT*"0D)<F5T=7)N(&YE=R!3=')I;F<H7W)E<&QA8V53;&EC92AO
M<%-L:6-E*"DL('-L:6-E+"!R97!L86-E;65N="DI.PT*"0E]#0H)"0T*"0D-
M" D)4W1R:6YG(')E<&QA8V53;&EC92AS8VAA<EM=('-L:6-E+"!3=')I;F< 
M<F5P;&%C96UE;G0I#0H)"7L-" D)"7)E='5R;B!R97!L86-E4VQI8V4H<VQI
M8V4L(')E<&QA8V5M96YT6UTI.PT*"0E]#0H)"0T*"0D-" D)4W1R:6YG(&EN
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
M93L-" T*86QI87, 4W1R:6YG26YS=&%N8V4N4W1R:6YG(%-T<FEN9SL-"F%L
M:6%S(%=3=')I;F=);G-T86YC92Y3=')I;F< 5U-T<FEN9SL-"F%L:6%S($13
M=')I;F=);G-T86YC92Y3=')I;F< 1%-T<FEN9SL-" T*#0IU;FET=&5S= T*
M>PT*"5-T<FEN9R!S='( /2!N97< 4W1R:6YG*")H96QL;R(I.PT*"7-T<B!^
M/2 B('=O<FQD(CL-" EA<W-E<G0H<W1R(#T](")H96QL;R!W;W)L9"(I.PT*
M"0T*"6%S<V5R=" H;F5W(%-T<FEN9R B82(I*2 \(")B(BD[#0H)87-S97)T
M*"AN97< 4W1R:6YG*")B(BDI(#P](")B(BD[#0H)87-S97)T*"AN97< 4W1R
M:6YG*")B(BDI(#X](")B(BD[#0H)87-S97)T*"AN97< 4W1R:6YG*")C(BDI
M(#X (F(B*3L-" D-" EA<W-E<G0H*"<R)R!^('-T<BD /3T (C)H96QL;R!W
M;W)L9"(I.PT*"6%S<V5R=" H8V%S="AU:6YT*3( ?B!S='(I(#T]("(R:&5L
M;&\ =V]R;&0B*3L-" D-" ES='( /2!N97< 4W1R:6YG*")(96QL;R(I.PT*
M"6%S<V5R="AS='(N=&]L;W=E<B I(#T](")H96QL;R(I.PT*"6%S<V5R="AS
M='(N=&]U<'!E<B I(#T](")(14Q,3R(I.PT*"7-T<B B:&5L;&\B*3L-" EA
M<W-E<G0H<W1R+G1O;&]W97(H*2 ]/3T <W1R*3L-" D-" E74W1R:6YG('=S
M='( /2!N97< 5U-T<FEN9R B=&AI<R!I<R!A(%=3=')I;F< =&5S="(I.PT*
M"0T*"6%S<V5R="AW<W1R+F9I;F0H)V G*2 ]/2 Q*3L-" EA<W-E<G0H=W-T
M<BYF:6YD*"=<,"<I(#T]("TQ*3L-" EA<W-E<G0H=W-T<BYF:6YD*"(B*2 ]
M/2 P*3L-" EA<W-E<G0H=W-T<BYF:6YD*")I(BD /3T ,BD[#0H)87-S97)T
M*'=S='(N9FEN9" B:7,B*2 ]/2 R*3L-" EA<W-E<G0H=W-T<BYF:6YD*")T
M97-T8F%D(BD /3T +3$I.PT*"6%S<V5R="AW<W1R+F9I;F0H(G1E<W1<,"(I
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
M(BD /" P*3L-" EA<W-E<G0H9'-T<B B8F)C(BDN8VUP*")A8F,B*2 ^(# I
M.PT*"0T*"6%S<V5R="AD<W1R*")A0F,B*2YI8VUP*")A8F,B*2 ]/2 P*3L-
M" EA<W-E<G0H9'-T<BAC87-T*&1C:&%R6UTI;G5L;"DN:6-M<"AC87-T*&1C
M:&%R6UTI;G5L;"D /3T ,"D[#0H)87-S97)T*&1S='(H(B(I+FEC;7 H(B(I
M(#T](# I.PT*"6%S<V5R="AD<W1R*")A0F,B*2YI8VUP*")A8F-D(BD /" P
M*3L-" EA<W-E<G0H9'-T<B B84)C9"(I+FEC;7 H(F%B8R(I(#X ,"D[#0H)
M87-S97)T*&1S='(H(F%"8R(I+FEC;7 H(F%B9"(I(#P ,"D[#0H)87-S97)T
M*&1S='(H(F)B8R(I+FEC;7 H(F%B8R(I(#X ,"D[#0H)#0H)87-S97)T*'=S
M='(H(FAE;&QO(BDN=&](87-H*"D (3T :6YI=%]C<F,S,B I*3L-" D-" EW
M<W1R*")H97DB*3L-" EA<W-E<G0H5U-T<FEN9TEN<W1A;F-E+G1O4W1R:6YG
M*'=S='(N=&]3=')I;F=Z*"DI(#T](")H97DB*3L-"GT-" T*#0HO* T*"71H
M97-E(&-O=6QD(&)E('!L86-E9"!I;B!S=')I;F<N9"!T;R!E;&EM:6YA=&4 
M9'5P;&EC871E9"!C;V1E. T*86QI87, 4W1R:6YG26YS=&%N8V4N8VUP(&-M
M<#L-"F%L:6%S(%-T<FEN9TEN<W1A;F-E+FEC;7  :6-M<#L-"F%L:6%S(%-T
M<FEN9TEN<W1A;F-E+F9I;F0 9FEN9#L-"F%L:6%S(%-T<FEN9TEN<W1A;F-E
M+G)F:6YD(')F:6YD.PT*86QI87, 4W1R:6YG26YS=&%N8V4N=&]L;W=E<B!T
M;VQO=V5R.PT*86QI87, 4W1R:6YG26YS=&%N8V4N=&]U<'!E<B!T;W5P<&5R
M.PT*86QI87, 4W1R:6YG26YS=&%N8V4N8V%P:71A;&EZ92!C87!I=&%L:7IE
M.PT*86QI87, 4W1R:6YG26YS=&%N8V4N8V%P=V]R9', 8V%P=V]R9',[#0IA
M;&EA<R!3=')I;F=);G-T86YC92YJ;VEN(&IO:6X[#0IA;&EA<R!3=')I;F=)
M;G-T86YC92YS<&QI="!S<&QI=#L-"F%L:6%S(%-T<FEN9TEN<W1A;F-E+G-P
M;&ET;&EN97, <W!L:71L:6YE<SL-"F%L:6%S(%-T<FEN9TEN<W1A;F-E+G-T
M<FEP;"!S=')I<&P[#0IA;&EA<R!3=')I;F=);G-T86YC92YS=')I<'( <W1R
M:7!R.PT*86QI87, 4W1R:6YG26YS=&%N8V4N8V5N=&5R(&-E;G1E<CL-"F%L
M:6%S(%-T<FEN9TEN<W1A;F-E+GIF:6QL('IF:6QL.PT*86QI87, 4W1R:6YG
M26YS=&%N8V4N<F5P;&%C92!R97!L86-E.PT*86QI87, 4W1R:6YG26YS=&%N
M8V4N<F5P;&%C95-L:6-E(')E<&QA8V53;&EC93L-"F%L:6%S(%-T<FEN9TEN
M<W1A;F-E+FEN<V5R="!I;G-E<G0[#0IA;&EA<R!3=')I;F=);G-T86YC92YC
M;W5N="!C;W5N=#L-"F%L:6%S(%-T<FEN9TEN<W1A;F-E+F5X<&%N9'1A8G, 
M97AP86YD=&%B<SL-"F%L:6%S(%-T<FEN9TEN<W1A;F-E+G1O4W1R:6YG('1O
M4W1R:6YG.PT*86QI87, 4W1R:6YG26YS=&%N8V4N=&]3=')I;F=Z('1O4W1R
-:6YG>CL-"BHO#0H-" ``
`
end
Nov 03 2003
next sibling parent Ant <Ant_member pathlink.com> writes:
In article <bo6a9k$1vag$1 digitaldaemon.com>, Vathix says...
I made this a few weeks ago.
Looks great! thank you. Ant
Nov 03 2003
prev sibling parent reply "Ben Hinkle" <bhinkle4 juno.com> writes:
Looks interesting. If I started using this in my own code what advantages
would it have over using string.d and schar[] where schar is char, wchar or
dchar? I haven't been following the pros and cons of String vs char[] aside
from the UTF-n indexing problem.
thanks,
-Ben


"Vathix" <vathix dprogramming.com> wrote in message
news:bo6a9k$1vag$1 digitaldaemon.com...
 I made this a few weeks ago.
Nov 03 2003
parent "Vathix" <vathix dprogramming.com> writes:
The String class has a few advantages like the reserve member to reserve so
many bytes to avoid reallocations. You can append another String, char[],
char or even int to it. The silce operator (with or without parameters)
returns a char[] so it can be easily used with other char[] string
functions. The toStringz member adds the null byte to the reserve so calling
it several times won't hurt any.
There are a few bad things, like the functions that return several new
String objects such as split(), but I don't really think it's any worse than
other languages' String classes.
I wrote this code just for something to do, since people have been wanting a
String and it didn't look like anyone was actually making it. I still like
char[], I think slices are really cool.


"Ben Hinkle" <bhinkle4 juno.com> wrote in message
news:bo6osb$2kf3$1 digitaldaemon.com...
 Looks interesting. If I started using this in my own code what advantages
 would it have over using string.d and schar[] where schar is char, wchar
or
 dchar? I haven't been following the pros and cons of String vs char[]
aside
 from the UTF-n indexing problem.
 thanks,
 -Ben


 "Vathix" <vathix dprogramming.com> wrote in message
 news:bo6a9k$1vag$1 digitaldaemon.com...
 I made this a few weeks ago.
Nov 03 2003