Boost logo

Boost :

From: Philippe A. Bouchard (philippeb_at_[hidden])
Date: 2002-07-17 23:40:51


Hi,

    I've made some modifications in squad_ptr.h which will allow cleaner
instanciation of the objects pointed to. You won't need a derived class
from a counter type or anything like it. The only little drawback is that
it requires a more complex expression when instanciated, but no add_ref
overloads are demanded on the other hand.

    (Sorry if can not reply for the next 3 days).

Regards,

Philippe A. Bouchard

begin 666 squad_ptr.h
M+RH*(" @5&AI<R!F:6QE(&ES('!A<G0@;V8@=&AE($9$22!L:6)R87)I97,*
M(" @0V]P>7)I9VAT("AC*2 R,# R(%!H:6QI<'!E($$N($)O=6-H87)D(#QP
M:&EL:7!P94!F;W)N=7_at_N8V]M/@H*(" @5&AI<R!L:6)R87)Y(&ES(&9R964@
M<V]F='=A<F4[('EO=2!C86X@<F5D:7-T<FEB=71E(&ET(&%N9"]O<@H@("!M
M;V1I9GD@:70@=6YD97(@=&AE('1E<FUS(&]F('1H92!'3E4_at_3&EB<F%R>2!'
M96YE<F%L(%!U8FQI8PH@("!,:6-E;G-E('9E<G-I;VX@,B!A<R!P=6)L:7-H
M960_at_8GD@=&AE($9R964_at_4V]F='=A<F4_at_1F]U;F1A=&EO;BX*"B @(%1H:7,@
M;&EB<F%R>2!I<R!D:7-T<FEB=71E9"!I;B!T:&4@:&]P92!T:&%T(&ET('=I
M;&P_at_8F4@=7-E9G5L+ H@("!B=70_at_5TE42$]55"!!3ED_at_5T%24D%.5%D[('=I
M=&AO=70_at_979E;B!T:&4@:6UP;&EE9"!W87)R86YT>2!O9_at_H@("!-15)#2$%.
M5$%"24Q)5%D@;W(@1DE43D534R!&3U(@02!005)424-53$%2(%!54E!/4T4N
M("!3964@=&AE($=.50H@("!,:6)R87)Y($=E;F5R86P_at_4'5B;&EC($QI8V5N
M<V4_at_9F]R(&UO<F4_at_9&5T86EL<RX*"B @(%EO=2!S:&]U;&0@:&%V92!R96-E
M:79E9"!A(&-O<'D@;V8@=&AE($=.52!,:6)R87)Y($=E;F5R86P_at_4'5B;&EC
M($QI8V5N<V4*(" @86QO;F<@=VET:"!T:&ES(&QI8G)A<GD[('-E92!T:&4@
M9FEL92!#3U!924Y'+DQ)0BX@($EF(&YO="P@=W)I=&4@=&\*(" @=&AE($9R
M964_at_4V]F='=A<F4_at_1F]U;F1A=&EO;BP_at_26YC+BP_at_-3D@5&5M<&QE(%!L86-E
M("T_at_4W5I=&4@,S,P+ H@("!";W-T;VXL($U!(# R,3$Q+3$S,#<L(%5302X*
M*B\*"@HC:69N9&5F(%-154%$7U!44E]("B-D969I;F4_at_4U%5041?4%127T@*
M"@HC:6YC;'5D92 \;F5W/@H*"FYA;65S<&%C92!F9&D*>PH*"G1E;7!L871E
M(#QT>7!E;F%M92!?5' ^"@ES=')U8W0@<W%U861?<'1R.PH*"G1E;7!L871E
M(#QT>7!E;F%M92!?5' ^"@ES=')U8W0@<W%U861?=&%R9V5T"@E["@D)9G)I
M96YD(&-L87-S('-Q=6%D7W!T<CQ?5' ^.PH*"0ET>7!E9&5F(%]4<"!V86QU
M95]T>7!E.PH*"@D)<W%U861?=&%R9V5T*"D_at_.B!M7V-O=6YT97(H,2D*"0E[
M"@D)?0H*"0E^<W%U861?=&%R9V5T*"D*"0E["@D)"7)E:6YT97)P<F5T7V-A
M<W0\=F%L=65?='EP92 F/BAM7V)U9F9E<BDN?G9A;'5E7W1Y<&4H*3L*"0E]
M"@H)<')I=F%T93H*"0EC:&%R(&U?8G5F9F5R6W-I>F5O9BAV86QU95]T>7!E
M*5T["@D);&]N9R!M7V-O=6YT97(["@E].PH*"G1E;7!L871E(#QT>7!E;F%M
M92!?5' ^"@ES=')U8W0@<W%U861?<'1R"@E["@D)='EP961E9B!?5' @=F%L
M=65?='EP93L*"@D)='EP961E9B!S<75A9%]T87)G970\=F%L=65?='EP93X@
M96QE;65N=%]T>7!E.PH*"@D)<W%U861?<'1R*&5L96UE;G1?='EP92 J(&%?
M<" ](# I(#H@;5]P='(H85]P*0H)"7L*"0E]"@H)"7-Q=6%D7W!T<BAS<75A
M9%]P='(@8V]N<W0@)B!A7W I(#H@;5]P='(H85]P+G-H87)E*"DI"@D)>PH)
M"7T*"@D)=&5M<&QA=&4@/'1Y<&5N86UE(%]4<#$^"@D)"7-Q=6%D7W!T<BAS
M<75A9%]P='(\7U1P,3X_at_8V]N<W0@)B!A7W I(#H@;5]P='(H85]P+G-H87)E
M*"DI"@D)"7L*"0D)?0H*"0ES<75A9%]P='(@)B!O<&5R871O<B ]("AS<75A
M9%]P='(@8V]N<W0@)B!A7W I"@D)>PH)"0EI9B H)B!A7W @(3T@=&AI<RD*
M"0D)>PH)"0D)<F5S970H85]P+G-H87)E*"DI.PH)"0E]"@D)"7)E='5R;B J
M('1H:7,["@D)?0H*"0ET96UP;&%T92 \='EP96YA;64_at_7U1P,3X*"0D)<W%U
M861?<'1R("8@;W!E<F%T;W(@/2 H<W%U861?<'1R/%]4<#$^(&-O;G-T("8@
M85]P*0H)"0E["@D)"0EI9B H85]P+F=E="@I("$]('1H:7,M/F=E="@I*0H)
M"0D)>PH)"0D)"7)E<V5T*&%?<"YS:&%R92_at_I*3L*"0D)"7T*"0D)"7)E='5R
M;B J('1H:7,["@D)"7T*"@D)?G-Q=6%D7W!T<B_at_I"@D)>PH)"0EI9B H;5]P
M='(@)B8@(2 M+2!M7W!T<BT^;5]C;W5N=&5R*0H)"0E["@D)"0ED96QE=&4@
M;5]P='(["@D)"7T*"0E]"@H)"79A;'5E7W1Y<&4@)B!O<&5R871O<B J("@I
M(&-O;G-T"@D)>PH)"0ER971U<FX@<F5I;G1E<G!R971?8V%S=#QV86QU95]T
M>7!E("8^*&U?<'1R+3YM7V)U9F9E<BD["@D)?0H*"0EV86QU95]T>7!E("H@
M;W!E<F%T;W(@+3X@*"D_at_8V]N<W0*"0E["@D)"7)E='5R;B!R96EN=&5R<')E
M=%]C87-T/'9A;'5E7W1Y<&4@*CXH;5]P='(I.PH)"7T*"@D)=F%L=65?='EP
M92 J(&=E="@I(&-O;G-T"@D)>PH)"0ER971U<FX@<F5I;G1E<G!R971?8V%S
M=#QV86QU95]T>7!E("H^*&U?<'1R*3L*"0E]"@H)"65L96UE;G1?='EP92 J
M('-H87)E*"D_at_8V]N<W0*"0E["@D)"6EF("AM7W!T<BD*"0D)>PH)"0D)*RL@
M;5]P='(M/FU?8V]U;G1E<CL*"0D)?0H)"0ER971U<FX@;5]P='(["@D)?0H*
M"0EV;VED(')E<V5T*&5L96UE;G1?='EP92 J(&%?<" ](# I"@D)>PH)"0EI
M9B H;5]P='(@)B8@(2 M+2!M7W!T<BT^;5]C;W5N=&5R*0H)"0E["@D)"0ED
M96QE=&4@;5]P='(["@D)"7T*"0D);5]P='(@/2!A7W ["@D)?0H*"7!R:79A
M=&4Z"@D)96QE;65N=%]T>7!E("H@;5]P='(["@E].PH*"G1E;7!L871E(#QT
M>7!E;F%M92!?5' ^"@ES<75A9%]P='(\7U1P/CHZ96QE;65N=%]T>7!E("H@
M<W%U861?8V%S="A?5' @*B!A7W I"@E["@D)<F5T=7)N(')E:6YT97)P<F5T
M7V-A<W0\<W%U861?<'1R/%]4<#XZ.F5L96UE;G1?='EP92 J/BAA7W I.PH)
/?0H*"GT*"@HC96YD:68*
`
end

begin 666 mutable_ptr.h
M+RH*(" @5&AI<R!F:6QE(&ES('!A<G0@;V8@=&AE($9$22!L:6)R87)I97,*
M(" @0V]P>7)I9VAT("AC*2 R,# R(%!H:6QI<'!E($$N($)O=6-H87)D(#QP
M:&EL:7!P94!F;W)N=7_at_N8V]M/@H*(" @5&AI<R!L:6)R87)Y(&ES(&9R964@
M<V]F='=A<F4[('EO=2!C86X@<F5D:7-T<FEB=71E(&ET(&%N9"]O<@H@("!M
M;V1I9GD@:70@=6YD97(@=&AE('1E<FUS(&]F('1H92!'3E4_at_3&EB<F%R>2!'
M96YE<F%L(%!U8FQI8PH@("!,:6-E;G-E('9E<G-I;VX@,B!A<R!P=6)L:7-H
M960_at_8GD@=&AE($9R964_at_4V]F='=A<F4_at_1F]U;F1A=&EO;BX*"B @(%1H:7,@
M;&EB<F%R>2!I<R!D:7-T<FEB=71E9"!I;B!T:&4@:&]P92!T:&%T(&ET('=I
M;&P_at_8F4@=7-E9G5L+ H@("!B=70_at_5TE42$]55"!!3ED_at_5T%24D%.5%D[('=I
M=&AO=70_at_979E;B!T:&4@:6UP;&EE9"!W87)R86YT>2!O9_at_H@("!-15)#2$%.
M5$%"24Q)5%D@;W(@1DE43D534R!&3U(@02!005)424-53$%2(%!54E!/4T4N
M("!3964@=&AE($=.50H@("!,:6)R87)Y($=E;F5R86P_at_4'5B;&EC($QI8V5N
M<V4_at_9F]R(&UO<F4_at_9&5T86EL<RX*"B @(%EO=2!S:&]U;&0@:&%V92!R96-E
M:79E9"!A(&-O<'D@;V8@=&AE($=.52!,:6)R87)Y($=E;F5R86P_at_4'5B;&EC
M($QI8V5N<V4*(" @86QO;F<@=VET:"!T:&ES(&QI8G)A<GD[('-E92!T:&4@
M9FEL92!#3U!924Y'+DQ)0BX@($EF(&YO="P@=W)I=&4@=&\*(" @=&AE($9R
M964_at_4V]F='=A<F4_at_1F]U;F1A=&EO;BP_at_26YC+BP_at_-3D@5&5M<&QE(%!L86-E
M("T_at_4W5I=&4@,S,P+ H@("!";W-T;VXL($U!(# R,3$Q+3$S,#<L(%5302X*
M*B\*"@HC:69N9&5F($U55$%"3$5?4%127T@*(V1E9FEN92!-551!0DQ%7U!4
M4E]("@H*;F%M97-P86-E(&9D:0I["@H*=&5M<&QA=&4@/'1Y<&5N86UE(%]4
M<#X*"7-T<G5C="!M=71A8FQE7W!T<@H)>PH)"71Y<&5D968_at_7U1P(&5L96UE
M;G1?='EP93L*"@H)"6UU=&%B;&5?<'1R*&5L96UE;G1?='EP92 J(&%?<" ]
M(# I(#H@;5]P='(H85]P*0H)"7L*"0E]"@H)"6UU=&%B;&5?<'1R*&UU=&%B
M;&5?<'1R(&-O;G-T("8_at_85]P*2 Z(&U?<'1R*&%?<"YR96QE87-E*"DI"@D)
M>PH)"7T*"@D)=&5M<&QA=&4@/'1Y<&5N86UE(%]4<#$^"@D)"6UU=&%B;&5?
M<'1R*&UU=&%B;&5?<'1R/%]4<#$^(&-O;G-T("8_at_85]P*2 Z(&U?<'1R*&%?
M<"YR96QE87-E*"DI"@D)"7L*"0D)?0H*"0EM=71A8FQE7W!T<B F(&]P97)A
M=&]R(#T@*&UU=&%B;&5?<'1R(&-O;G-T("8_at_85]P*0H)"7L*"0D):68@*"8@
M85]P("$]('1H:7,I"@D)"7L*"0D)"7)E<V5T*&%?<"YR96QE87-E*"DI.PH)
M"0E]"@D)"7)E='5R;B J('1H:7,["@D)?0H*"0ET96UP;&%T92 \='EP96YA
M;64_at_7U1P,3X*"0D);75T86)L95]P='(@)B!O<&5R871O<B ]("AM=71A8FQE
M7W!T<CQ?5' Q/B!C;VYS=" F(&%?<"D*"0D)>PH)"0D):68@*&%?<"YG970H
M*2 A/2!T:&ES+3YG970H*2D*"0D)"7L*"0D)"0ER97-E="AA7W N<F5L96%S
M92_at_I*3L*"0D)"7T*"0D)"7)E='5R;B J('1H:7,["@D)"7T*"@D)?FUU=&%B
M;&5?<'1R*"D*"0E["@D)"61E;&5T92!M7W!T<CL*"0E]"@H)"65L96UE;G1?
M='EP92 F(&]P97)A=&]R("H@*"D_at_8V]N<W0*"0E["@D)"7)E='5R;B J(&U?
M<'1R.PH)"7T*"@D)96QE;65N=%]T>7!E("H@;W!E<F%T;W(@+3X@*"D_at_8V]N
M<W0*"0E["@D)"7)E='5R;B!M7W!T<CL*"0E]"@H)"65L96UE;G1?='EP92 J
M(&=E="@I(&-O;G-T"@D)>PH)"0ER971U<FX@;5]P='(["@D)?0H*"0EE;&5M
M96YT7W1Y<&4@*B!R96QE87-E*"D_at_8V]N<W0*"0E["@D)"65L96UE;G1?='EP
M92 J('1M<" ](&U?<'1R.PH)"0EM7W!T<B ](# ["@D)"7)E='5R;B!T;7 [
M"@D)?0H*"0EV;VED(')E<V5T*&5L96UE;G1?='EP92 J(&%?<" ](# I"@D)
M>PH)"0ED96QE=&4@;5]P='(["@D)"6U?<'1R(#T_at_85]P.PH)"7T*"@EP<FEV
M871E._at_H)"6UU=&%B;&4_at_96QE;65N=%]T>7!E("H@;5]P='(["@E].PH*"GT*
)"@HC96YD:68*
`
end

begin 666 ice.cpp
M(VEN8VQU9&4@/&EO<W1R96%M/@HC:6YC;'5D92 B<W%U861?<'1R+F_at_B"@IU
M<VEN9R!N86UE<W!A8V4@<W1D.PIU<VEN9R!N86UE<W!A8V4_at_[hidden]*<W1R
M=6-T($$*>PH):6YT(&DL(&HL(&L["@H)02AI;G0_at_82P@:6YT(&(L(&EN="!C
M*2 Z(&DH82DL(&HH8BDL(&LH8RD*"7L*"0EC;W5T(#P\(%]?4%)%5%197T95
M3D-424].7U\@/#P_at_96YD;#L*"7T*"@E!*$$@8V]N<W0@)B!P*2 Z(&DH<"YI
M*2P@:BAP+FHI+"!K*' N:RD*"7L*"0EC;W5T(#P\(%]?4%)%5%197T953D-4
M24].7U\@/#P_at_96YD;#L*"7T*"@E^02_at_I"@E["@D)8V]U=" \/"!?7U!21514
M65]&54Y#5$E/3E]?(#P\(&5N9&P["@E]"GT["@II;G0@;6%I;B_at_I"GL*"7-Q
M=6%D7W!T<CQ!/B!P(#T@<W%U861?8V%S="AN97<@*&YE=R!S<75A9%]T87)G
M970\03XI($$H,2P@,BP@,RDI.PH*"6-O=70@/#P@<"T^:R \/"!E;F1L.PH*
-"7)E='5R;B P.PI]"@``
`
end


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