Boost logo

Boost :

From: Tony Juricic (tonygeek_at_[hidden])
Date: 2004-09-15 18:33:34


"Jonathan Turkanis" wrote:

> I know some image formats have a byte-order flag in the header somewhere
which
> determines how the pixel data is stored. Right? Wouldn't a general filter
which
> switches by order screw up the header too?
>
> Forgive me, but I don't know the TIFF format.

In the case of TIFF it shouldn't be a problem since first 2 bytes of the
file contain either MM or II characters for Motorola or Intel byte order.

Admittedly, that was just a by-the-way thought and I am not sure TIFF is a
good case to argue usefullness of built-in endianness filter. I happened to
be working with writing TIFFs (see attached example that writes simple 10x10
pixels TIFF with 3 color stripes, once in big and once little endian format)
and wondered if applying iostreams filter would result in more elegant and
reusable code.

Tony

begin 666 TiffWrite.cpp
M(VEN8VQU9&4@/&9S=')E86T^#0H-"G5S:6YG(&YA;65S<&%C92!S=&0[#0H-
M"B\O($UO=&]R;VQA(&EN=&5G97(@;W5T<'5T('-T<F5A;0T*#0IC;&%S<R!/
M9G-T<F5A;4U-(#H@<'5B;&EC(&]F<W1R96%M#0I[#0IP=6)L:6,Z#0H)97AP
M;&EC:70_at_3V9S=')E86U-32_at_-"@D)8V]N<W0_at_8VAA<B J(&9I;&5N86UE+ T*
M"0EI;W-?8F%S93HZ;W!E;FUO9&4@;6]D92D_at_.B!O9G-T<F5A;2AF:6QE;F%M
M92QM;V1E*2![?0T*#0H)=F]I9"!W<FET92AC;VYS="!C:&%R*B!S+"!U;G-I
M9VYE9"!N*0T*"7L-"@D)<F1B=68H*2T^<W!U=&XH<RQN*3L-"@E]#0H-"@EV
M;VED('=R:71E*'5N<VEG;F5D('5I*2 -"@E[( T*"0EU;G-I9VYE9"!B975I
M/2AU:3X^,C0I?"@H=6DF,'@P,&9F,# P,"D^/C_at_I?"@H=6DF,'@P,# P9F8P
M,"D\/#@I?"AU:3P\,C0I.PT*"0EC;VYS="!C:&%R*B!T/7)E:6YT97)P<F5T
M7V-A<W0\8V]N<W0_at_8VAA<BH^*"9B975I*3L-"@D)=W)I=&4H="QS:7IE;V8H
M=6YS:6=N960I*3L-"@E]#0H-"@EV;VED('=R:71E*'5N<VEG;F5D('-H;W)T
M('5S*2 -"@E[( T*"0EU;G-I9VYE9"!S:&]R="!B975S/2AU<SX^."E\*'5S
M/#PX*3L-"@D)8V]N<W0_at_8VAA<BH@=#UR96EN=&5R<')E=%]C87-T/&-O;G-T
M(&-H87(J/B_at_F8F5U<RD[#0H)"7=R:71E*'0L<VEZ96]F*'5N<VEG;F5D('-H
M;W)T*2D[#0H)?0T*?3L-"@T*+R\@26YT97(@:6YT96=E<B!O=71S=')E86T-
M"@T*8VQA<W,@3V9S=')E86U)22 Z('!U8FQI8R!O9G-T<F5A;0T*>PT*<'5B
M;&EC._at_T*"65X<&QI8VET($]F<W1R96%M24DH#0H)"6-O;G-T(&-H87(@*B!F
M:6QE;F%M92P-"@D):6]S7V)A<V4Z.F]P96YM;V1E(&UO9&4I(#H@;V9S=')E
M86TH9FEL96YA;64L;6]D92D@>WT-"@T*"79O:60@=W)I=&4H8V]N<W0_at_8VAA
M<BH@<RP@=6YS:6=N960@;BD-"@E[#0H)"7)D8G5F*"DM/G-P=71N*',L;BD[
M#0H)?0T*#0H)=F]I9"!W<FET92AU;G-I9VYE9"!U:2D@#0H)>R -"@D)8V]N
M<W0_at_8VAA<BH@=#UR96EN=&5R<')E=%]C87-T/&-O;G-T(&-H87(J/B_at_F=6DI
M.PT*"0EW<FET92AT+'-I>F5O9BAU;G-I9VYE9"DI.PT*"7T-"@T*"79O:60@
M=W)I=&4H=6YS:6=N960@<VAO<G0@=7,I( T*"7L@#0H)"6-O;G-T(&-H87(J
M('0]<F5I;G1E<G!R971?8V%S=#QC;VYS="!C:&%R*CXH)G5S*3L-"@D)=W)I
M=&4H="QS:7IE;V8H=6YS:6=N960@<VAO<G0I*3L-"@E]#0I].PT*#0IS=')U
M8W0_at_4D="#0I[#0H)4D="*&-H87(@<BP_at_8VAA<B!G+"!C:&%R(&(I(#H@<E\H
M<BDL(&=?*&<I+"!B7RAB*2![?3L-"@T*"6-H87(@<E\[#0H)8VAA<B!G7SL-
M"@EC:&%R(&)?.PT*?3L-"@T*+R\@=&\@<V%V92!T>7!I;F<@8V%S=',-"B-D
M969I;F4_at_52AA*2!U;G-I9VYE9"AA*0T*(V1E9FEN92!54RAA*2!U;G-I9VYE
M9"!S:&]R="AA*0T*#0H-"FEN="!M86EN*"D@#0I[#0H)3V9S=')E86U)22!O
M=71L969I;&4H(G1E<W1I+G1I9F8B+&]F<W1R96%M.CIB:6YA<GDI.R O+VQI
M='1L92!E;F1I86X@*$EN=&5L*2!F:6QE#0H)3V9S=')E86U-32!O=71B969I
M;&4H(G1E<W1M+G1I9F8B+&]F<W1R96%M.CIB:6YA<GDI.R O+R!B:6<@96YD
M:6%N("A-;W1O<F]L82D_at_9FEL90T*#0H)+R\@5W)I=&4@=&AE(&AE861E<@T*
M"2\O(&5N9&EA;B F(%1)1D8@:61E;G1I9FEE<@T*#0H)+R\@96%C:"!);G1E
M;"!F;W)M870@=W)I=&4@=&\@;VYE(&9I;&4@:7,@9F]L;&]W960_at_8GD@8V]R
M<F5S<&]N9&EN9R!-;W1O<F]L82!F;W)M870-"@DO+R!W<FET92!T;R!A;F]T
M:&5R(&9I;&4N#0H-"@EO=71L969I;&4N=W)I=&4H(%4H,'@P,#)A-#DT.2D@
M*3L-"@EO=71B969I;&4N=W)I=&4H(%4H,'@T9#1D,# R82D@*3L-"@T*"75N
M<VEG;F5D('-H;W)T(&YX/3$P+"!N>3TQ,#L-"@D-"@EO=71L969I;&4N=W)I
M=&4H(%4H;G_at_J;GDJ,R K(#@@*2 I.PT*"6]U=&)E9FEL92YW<FET92@@52AN
M>"IN>2HS("L_at_."D@*3L-"@T*"2\O(%=R:71E('1H92!B:6YA<GD_at_9&%T82 H
M8F]T:"!4249&<R!S:&]W(&AO<FEZ;VYT86P@<F5D+"!G<F5E;B!A;F0_at_8FQU
M92!S=')I<&4I#0H-"@EU;G-I9VYE9"!S:&]R="!I+"!J.PT*#0H)>PT*"0E2
M1T(@<F=B*"TQ,C<L,"PP*3L-"@T*"0EF;W(H:CTP.VH\;GDO,BTR.VHK*RD@
M#0H)"0EF;W(H:3TP.VD\;G@[:2LK*2 -"@D)"7L-"@D)"0EO=71L969I;&4N
M=W)I=&4H<F5I;G1E<G!R971?8V%S=#QC;VYS="!C:&%R*CXH)G)G8BDL<VEZ
M96]F*%)'0BDI.PT*"0D)"6]U=&)E9FEL92YW<FET92AR96EN=&5R<')E=%]C
M87-T/&-O;G-T(&-H87(J/B_at_F<F=B*2QS:7IE;V8H4D="*2D[#0H)"0E]#0H)
M?0T*#0H)>PT*"0E21T(@<F=B*# L+3$R-RPP*3L-"@T*"0EF;W(H:CUN>2\R
M+3([:CQN>2\R*S([:BLK*2 -"@D)"69O<BAI/3 [:3QN>#MI*RLI( T*"0D)
M>PT*"0D)"6]U=&QE9FEL92YW<FET92AR96EN=&5R<')E=%]C87-T/&-O;G-T
M(&-H87(J/B_at_F<F=B*2QS:7IE;V8H4D="*2D[#0H)"0D);W5T8F5F:6QE+G=R
M:71E*')E:6YT97)P<F5T7V-A<W0\8V]N<W0_at_8VAA<BH^*"9R9V(I+'-I>F5O
M9BA21T(I*3L-"@D)"7T-"@E]#0H-"@E[#0H)"5)'0B!R9V(H,"PP+"TQ,C<I
M.PT*#0H)"69O<BAJ/6YY+S(K,CMJ/&YY.VHK*RD@#0H)"0EF;W(H:3TP.VD\
M;G@[:2LK*2 -"@D)"7L-"@D)"0EO=71L969I;&4N=W)I=&4H<F5I;G1E<G!R
M971?8V%S=#QC;VYS="!C:&%R*CXH)G)G8BDL<VEZ96]F*%)'0BDI.PT*"0D)
M"6]U=&)E9FEL92YW<FET92AR96EN=&5R<')E=%]C87-T/&-O;G-T(&-H87(J
M/B_at_F<F=B*2QS:7IE;V8H4D="*2D[#0H)"0E]#0H)?0T*#0H)+R\@5W)I=&4@
M=&AE(&9O;W1E<CH@=&AE(&YU;6)E<B!O9B!D:7)E8W1O<GD_at_96YT<FEE<R H
M,30I#0H-"@EO=71L969I;&4N=W)I=&4H(%53*#!X92D@*3L-"@EO=71B969I
M;&4N=W)I=&4H(%53*#!X92D@*3L-"@T*"2\O(%=I9'1H('1A9RP@<VAO<G0@
M:6YT#0H-"@EO=71L969I;&4N=W)I=&4H(%53*#!X,#$P,"D@*3L-"@EO=71B
M969I;&4N=W)I=&4H(%53*#!X,#$P,"D@*3L-"@EO=71L969I;&4N=W)I=&4H
M(%53*#,I("D[#0H);W5T8F5F:6QE+G=R:71E*"!54R_at_S*2 I.PT*#0H);W5T
M;&5F:6QE+G=R:71E*"!5*#$I("D[#0H);W5T8F5F:6QE+G=R:71E*"!5*#$I
M("D[#0H);W5T;&5F:6QE+G=R:71E*"!5*&YX*2 I.PT*"6]U=&)E9FEL92YW
M<FET92@@55,H;G_at_I("D[#0H);W5T8F5F:6QE+G=R:71E*"!54R_at_P*2 I.PT*
M#0H)+R\@2&5I9VAT('1A9RP@<VAO<G0@:6YT#0H-"@EO=71L969I;&4N=W)I
M=&4H(%53*#!X,#$P,2D@*3L-"@EO=71B969I;&4N=W)I=&4H(%53*#!X,#$P
M,2D@*3L-"@EO=71L969I;&4N=W)I=&4H(%53*#,I("D[#0H);W5T8F5F:6QE
M+G=R:71E*"!54R_at_S*2 I.PT*"6]U=&QE9FEL92YW<FET92@@52_at_Q*2 I.PT*
M"6]U=&)E9FEL92YW<FET92@@52_at_Q*2 I.PT*"6]U=&QE9FEL92YW<FET92@@
M52AN>2D@*3L-"@EO=71B969I;&4N=W)I=&4H(%53*&YY*2 I.PT*"6]U=&)E
M9FEL92YW<FET92@@55,H,"D@*3L-"@T*"2\O($)I=',@<&5R('-A;7!L92!T
M86<L('-H;W)T(&EN= T*#0H);W5T;&5F:6QE+G=R:71E*"!54R_at_P># Q,#(I
M("D[#0H);W5T8F5F:6QE+G=R:71E*"!54R_at_P># Q,#(I("D[#0H);W5T;&5F
M:6QE+G=R:71E*"!54R_at_S*2 I.PT*"6]U=&)E9FEL92YW<FET92@@55,H,RD@
M*3L-"@EO=71L969I;&4N=W)I=&4H(%4H,RD@*3L-"@EO=71B969I;&4N=W)I
M=&4H(%4H,RD@*3L-"@EO=71L969I;&4N=W)I=&4H(%4H;G_at_J;GDJ,R K(#$X
M,BD@*3L-"@EO=71B969I;&4N=W)I=&4H(%4H;G_at_J;GDJ,R K(#$X,BD@*3L-
M"@T*"2\O($-O;7!R97-S:6]N(&9L86<L('-H;W)T(&EN= T*#0H);W5T;&5F
M:6QE+G=R:71E*"!54R_at_P># Q,#,I("D[#0H);W5T8F5F:6QE+G=R:71E*"!5
M4R_at_P># Q,#,I("D[#0H);W5T;&5F:6QE+G=R:71E*"!54R_at_S*2 I.PT*"6]U
M=&)E9FEL92YW<FET92@@55,H,RD@*3L-"@EO=71L969I;&4N=W)I=&4H(%4H
M,2D@*3L-"@EO=71B969I;&4N=W)I=&4H(%4H,2D@*3L-"@EO=71L969I;&4N
M=W)I=&4H(%4H,2D@*3L-"@EO=71B969I;&4N=W)I=&4H(%53*#$I("D[#0H)
M;W5T8F5F:6QE+G=R:71E*"!54R_at_P*2 I.PT*#0H)+R\@4&AO=&]M971R:6,@
M:6YT97)P;VQA=&EO;B!T86<L('-H;W)T(&EN= T*#0H);W5T;&5F:6QE+G=R
M:71E*"!54R_at_P># Q,#8I("D[#0H);W5T8F5F:6QE+G=R:71E*"!54R_at_P># Q
M,#8I("D[#0H);W5T;&5F:6QE+G=R:71E*"!54R_at_S*2 I.PT*"6]U=&)E9FEL
M92YW<FET92@@55,H,RD@*3L-"@EO=71L969I;&4N=W)I=&4H(%4H,2D@*3L-
M"@EO=71B969I;&4N=W)I=&4H(%4H,2D@*3L-"@EO=71L969I;&4N=W)I=&4H
M(%4H,BD@*3L-"@EO=71B969I;&4N=W)I=&4H(%53*#(I("D[#0H);W5T8F5F
M:6QE+G=R:71E*"!54R_at_P*2 I.PT*#0H)+R\@4W1R:7 @;V9F<V5T('1A9RP@
M;&]N9R!I;G0-"@T*"6]U=&QE9FEL92YW<FET92@@55,H,'@P,3$Q*2 I.PT*
M"6]U=&)E9FEL92YW<FET92@@55,H,'@P,3$Q*2 I.PT*"6]U=&QE9FEL92YW
M<FET92@@55,H-"D@*3L-"@EO=71B969I;&4N=W)I=&4H(%53*#0I("D[#0H)
M;W5T;&5F:6QE+G=R:71E*"!5*#$I("D[#0H);W5T8F5F:6QE+G=R:71E*"!5
M*#$I("D[#0H);W5T;&5F:6QE+G=R:71E*"!5*#@I("D[#0H);W5T8F5F:6QE
M+G=R:71E*"!5*#@I("D[#0H-"@DO+R!/<FEE;G1A=&EO;B!F;&%G+"!S:&]R
M="!I;G0-"@T*"6]U=&QE9FEL92YW<FET92@@55,H,'@P,3$R*2 I.PT*"6]U
M=&)E9FEL92YW<FET92@@55,H,'@P,3$R*2 I.PT*"6]U=&QE9FEL92YW<FET
M92@@55,H,RD@*3L-"@EO=71B969I;&4N=W)I=&4H(%53*#,I("D[#0H);W5T
M;&5F:6QE+G=R:71E*"!5*#$I("D[#0H);W5T8F5F:6QE+G=R:71E*"!5*#$I
M("D[#0H);W5T;&5F:6QE+G=R:71E*"!5*#$I("D[#0H);W5T8F5F:6QE+G=R
M:71E*"!54R_at_Q*2 I.PT*"6]U=&)E9FEL92YW<FET92@@55,H,"D@*3L-"@T*
M"2\O(%-A;7!L92!P97(@<&EX96P@=&%G+"!S:&]R="!I;G0-"@T*"6]U=&QE
M9FEL92YW<FET92@@55,H,'@P,3$U*2 I.PT*"6]U=&)E9FEL92YW<FET92@@
M55,H,'@P,3$U*2 I.PT*"6]U=&QE9FEL92YW<FET92@@55,H,RD@*3L-"@EO
M=71B969I;&4N=W)I=&4H(%53*#,I("D[#0H);W5T;&5F:6QE+G=R:71E*"!5
M*#$I("D[#0H);W5T8F5F:6QE+G=R:71E*"!5*#$I("D[#0H);W5T;&5F:6QE
M+G=R:71E*"!5*#,I("D[#0H);W5T8F5F:6QE+G=R:71E*"!54R_at_S*2 I.PT*
M"6]U=&)E9FEL92YW<FET92@@55,H,"D@*3L-"@T*"2\O(%)O=W,@<&5R('-T
M<FEP('1A9RP@<VAO<G0@:6YT( T*#0H);W5T;&5F:6QE+G=R:71E*"!54R_at_P
M># Q,38I("D[#0H);W5T8F5F:6QE+G=R:71E*"!54R_at_P># Q,38I("D[#0H)
M;W5T;&5F:6QE+G=R:71E*"!54R_at_S*2 I.PT*"6]U=&)E9FEL92YW<FET92@@
M55,H,RD@*3L-"@EO=71L969I;&4N=W)I=&4H(%4H,2D@*3L-"@EO=71B969I
M;&4N=W)I=&4H(%4H,2D@*3L-"@EO=71L969I;&4N=W)I=&4H(%4H;GDI("D[
M#0H);W5T8F5F:6QE+G=R:71E*"!54RAN>2D@*3L-"@EO=71B969I;&4N=W)I
M=&4H(%53*# I("D[#0H-"@DO+R!3=')I<"!B>71E(&-O=6YT(&9L86<L(&QO
M;F<@:6YT#0H-"@EO=71L969I;&4N=W)I=&4H(%53*#!X,#$Q-RD@*3L-"@EO
M=71B969I;&4N=W)I=&4H(%53*#!X,#$Q-RD@*3L-"@EO=71L969I;&4N=W)I
M=&4H(%53*#0I("D[#0H);W5T8F5F:6QE+G=R:71E*"!54R_at_T*2 I.PT*"6]U
M=&QE9FEL92YW<FET92@@52_at_Q*2 I.PT*"6]U=&)E9FEL92YW<FET92@@52_at_Q
M*2 I.PT*"6]U=&QE9FEL92YW<FET92@@52AN>"IN>2HS*2 I.PT*"6]U=&)E
M9FEL92YW<FET92@@52AN>"IN>2HS*2 I.PT*#0H)+R\@36EN:6UU;2!S86UP
M;&4@=F%L=64_at_9FQA9RP@<VAO<G0@:6YT#0H-"@EO=71L969I;&4N=W)I=&4H
M(%53*#!X,#$Q."D@*3L-"@EO=71B969I;&4N=W)I=&4H(%53*#!X,#$Q."D@
M*3L-"@EO=71L969I;&4N=W)I=&4H(%53*#,I("D[#0H);W5T8F5F:6QE+G=R
M:71E*"!54R_at_S*2 I.PT*"6]U=&QE9FEL92YW<FET92@@52_at_S*2 I.PT*"6]U
M=&)E9FEL92YW<FET92@@52_at_S*2 I.PT*"6]U=&QE9FEL92YW<FET92@@52AN
M>"IN>2HS("L@,3_at_X*2 I.PT*"6]U=&)E9FEL92YW<FET92@@52AN>"IN>2HS
M("L@,3_at_X*2 I.PT*#0H)+R\@36%X:6UU;2!S86UP;&4@=F%L=64@=&%G+"!S
M:&]R="!I;G0-"@T*"6]U=&QE9FEL92YW<FET92@@55,H,'@P,3$Y*2 I.PT*
M"6]U=&)E9FEL92YW<FET92@@55,H,'@P,3$Y*2 I.PT*"6]U=&QE9FEL92YW
M<FET92@@55,H,RD@*3L-"@EO=71B969I;&4N=W)I=&4H(%53*#,I("D[#0H)
M;W5T;&5F:6QE+G=R:71E*"!5*#,I("D[#0H);W5T8F5F:6QE+G=R:71E*"!5
M*#,I("D[#0H);W5T;&5F:6QE+G=R:71E*"!5*&YX*FYY*C,@*R Q.30I("D[
M#0H);W5T8F5F:6QE+G=R:71E*"!5*&YX*FYY*C,@*R Q.30I("D[#0H-"@DO
M+R!0;&%N87(@8V]N9FEG=7)A=&EO;B!T86<L('-H;W)T(&EN= T*#0H);W5T
M;&5F:6QE+G=R:71E*"!54R_at_P># Q,6,I("D[#0H);W5T8F5F:6QE+G=R:71E
M*"!54R_at_P># Q,6,I("D[#0H);W5T;&5F:6QE+G=R:71E*"!54R_at_S*2 I.PT*
M"6]U=&)E9FEL92YW<FET92@@55,H,RD@*3L-"@EO=71L969I;&4N=W)I=&4H
M(%4H,2D@*3L-"@EO=71B969I;&4N=W)I=&4H(%4H,2D@*3L-"@EO=71L969I
M;&4N=W)I=&4H(%4H,2D@*3L-"@EO=71B969I;&4N=W)I=&4H(%53*#$I("D[
M#0H);W5T8F5F:6QE+G=R:71E*"!54R_at_P*2 I.PT*#0H)+R\@4V%M<&QE(&9O
M<FUA="!T86<L('-H;W)T(&EN= T*#0H);W5T;&5F:6QE+G=R:71E*"!54R_at_P
M># Q-3,I("D[#0H);W5T8F5F:6QE+G=R:71E*"!54R_at_P># Q-3,I("D[#0H)
M;W5T;&5F:6QE+G=R:71E*"!54R_at_S*2 I.PT*"6]U=&)E9FEL92YW<FET92@@
M55,H,RD@*3L-"@EO=71L969I;&4N=W)I=&4H(%4H,RD@*3L-"@EO=71B969I
M;&4N=W)I=&4H(%4H,RD@*3L-"@EO=71L969I;&4N=W)I=&4H(%4H;G_at_J;GDJ
M,R K(#(P,"D@*3L-"@EO=71B969I;&4N=W)I=&4H(%4H;G_at_J;GDJ,R K(#(P
M,"D@*3L-"@T*"2\O($5N9"!O9B!T:&4_at_9&ER96-T;W)Y(&5N=')Y#0H-"@EO
M=71L969I;&4N=W)I=&4H(%4H,"D@*3L-"@EO=71B969I;&4N=W)I=&4H(%4H
M,"D@*3L-"@T*"2\O($)I=',@9F]R(&5A8V@@8V]L;W5R(&-H86YN96P-"@T*
M"6]U=&QE9FEL92YW<FET92@@55,H."D@*3L-"@EO=71B969I;&4N=W)I=&4H
M(%53*#@I("D[#0H);W5T;&5F:6QE+G=R:71E*"!54R_at_X*2 I.PT*"6]U=&)E
M9FEL92YW<FET92@@55,H."D@*3L-"@EO=71L969I;&4N=W)I=&4H(%53*#@I
M("D[#0H);W5T8F5F:6QE+G=R:71E*"!54R_at_X*2 I.PT*#0H)+R\@36EN:6UU
M;2!V86QU92!F;W(@96%C:"!C;VUP;VYE;G0-"@T*"6]U=&QE9FEL92YW<FET
M92@@55,H,"D@*3L-"@EO=71B969I;&4N=W)I=&4H(%53*# I("D[#0H);W5T
M;&5F:6QE+G=R:71E*"!54R_at_P*2 I.PT*"6]U=&)E9FEL92YW<FET92@@55,H
M,"D@*3L-"@EO=71L969I;&4N=W)I=&4H(%53*# I("D[#0H);W5T8F5F:6QE
M+G=R:71E*"!54R_at_P*2 I.PT*#0H)+R\@36%X:6UU;2!V86QU92!P97(@8VAA
M;FYE; T*#0H);W5T;&5F:6QE+G=R:71E*"!54R_at_P>&9F*2 I.PT*"6]U=&)E
M9FEL92YW<FET92@@55,H,'AF9BD@*3L-"@EO=71L969I;&4N=W)I=&4H(%53
M*#!X9F8I("D[#0H);W5T8F5F:6QE+G=R:71E*"!54R_at_P>&9F*2 I.PT*"6]U
M=&QE9FEL92YW<FET92@@55,H,'AF9BD@*3L-"@EO=71B969I;&4N=W)I=&4H
M(%53*#!X9F8I("D[#0H-"@DO+R!386UP;&5S('!E<B!P:7AE;"!F;W(@96%C
M:"!C:&%N;F5L#0H-"@EO=71L969I;&4N=W)I=&4H(%53*#$I("D[#0H);W5T
M8F5F:6QE+G=R:71E*"!54R_at_Q*2 I.PT*"6]U=&QE9FEL92YW<FET92@@55,H
M,2D@*3L-"@EO=71B969I;&4N=W)I=&4H(%53*#$I("D[#0H);W5T;&5F:6QE
M+G=R:71E*"!54R_at_Q*2 I.PT*"6]U=&)E9FEL92YW<FET92@@55,H,2D@*3L-
M"@T*"6]U=&QE9FEL92YC;&]S92_at_[hidden]*"6]U=&)E9FEL92YC;&]S92_at_[hidden]*
3#0H)<F5T=7)N(# [#0I]#0H-"@``
`
end


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk