[C++-sig] Re: sub module support in V2

Dave Hawkes daveh at cadlink.com
Sun Jun 9 05:29:49 CEST 2002


OK, here is the diff with the initialisation code stripped. I've also
changed the class_ so we can do this:

    class_<ctest>("ctest")
        .def_init()
        .def("set_v", &ctest::set_v)
        .def("get_v", &ctest::get_v)
        .add();

I did wonder about doing it in the constructor, but then it would possibly
break any current code that currently uses boost V2.

Additionally I looked at breaking up the class_ chain in the same way as the
module, bearing in mind your earlier comments. I believe it is feasible if
some of the class_ member functions were virtual in the base and also some
of the templated member functions were moved to the base. That may muddy the
implementation, but improve useability, so I'm not sure if it is even worth
attempting?

Dave Hawkes


begin 666 submodule.zip
M4$L#!!0````(`*NYR"R3$L[(L P``!4T```.````<W5B;6]D=6QE+F1I9F;E
M6GMOVS at 2_[O^%&P+)':L/&RG2>ML>NVUVVT.?01M%H?%=B'($AUK*TN&*"7U
M9?/=;X9#2J0>CM-D=P\XMK =B3,<#F=^,QSR) [XMS&;)(G(=A?+;);$NW[D
M";$S6RPZQW=OG4^O/K-I&/$QV_4O1)HDV2Z-9GY61W8N.BG/TI!?A/$Y2^%+
MA$G,!CO#_4X03J=L.V?;*?[)2FFWM[=;)O+@"?M7'K/AWMZ0#4?C_</QX"G;
MWH/V0++L]_MME,]*RKW1># <#YX09>?%"[8]>#9R#ED?OX8#]N)%AV$3/)IN
M,"\(W$6:+'B:+;O^S$N9G\0BVV*Q-^<.3&I*#S;8])QGO:/OI[4?"&+6V2[9
MP2,OR]*5G("F?WL*HMG=18E9EK!Y$N01-SG!BRX]91OS'KVYHB]L\QWL@%U[
MY4-8^SR-V58V"X42Z[H^EI^G*8^SEC'K0\D5'H]IB<=C["1'T#-O'9G!TBS2
M\,++T(IW6;9<<$'+A3\#T$@R^9W[F1B/I>6X8<#TCZ/.28./D<Q_BY.50[=Z
MV># \K+!`3/DK;E9^6ZEGP'3FI\9I*L=;3APGK(^? Z4FRWR213Z8WL5`K#:
M,!J/B:T[\01G^%&X`[WH2OME:-MDU3UZBVTL";KR*;NZ5I;10L>.V:-'AMV:
MQ.JI87\,7-55HH7Q-.GVMI^#GX&CATFJ7E0LDFR/2:M_"5;/(SX'DQ=H_MF,
M:],W9#1<MR*LPTZ7'Z69;@%_5.J3 at 7/ ^D_V"Z6JAB)(T20?HJTXS]S[RMUI
M'OL96$QW&CMLYL5!Q-.>!C)LMC>I&2D_%L ]] NISZN*J/NOXD:$KN^)[ =%
M_;S;H-HZQU[IT==H$J!5J8?#IZB'IP?.\(G4PU7'4 .N*('%-SVU"DC(*65\
MOH@`(-@/TO'9F4,(P/X)]$+_\3:)`I[^Q&.>>EF2/N_TPS@*8\XN$H ,'(1@
MXX<SA^BJ!!KE?5"/4 at W-;CRNSU="J]]K$_%-7!D?7*@!\-_$;!JO-1S2$PT0
MZ%&;QM7J^,1%'F5OR7+6%\:Q"0O3NZV,I='"PDI7N[Y&3\/W8N'YW+;Z1B G
MR-DU$.=O`?5F,5H!?F3A^XA5Q:]A?#/_!_L&WN^-AP<FWH_J<-_"Y88<:P^]
M$SZ?2N?L5)>'71E/:"#K$0T*CX"V3W9G( 7F,-I3/W[\?.:>_G+V]N,']_6/
MK]Z9:B%4T%%'AJ0ARC4$]-PKT%-:;CL`6[E328!N>KH\@R"F\)D!U* A_IX#
M at QR"&&(]!KE-(3G9M"Z^Z0+O(H4SH57.<JL>>\SD#8&,B5F21P'(Z$71DDVX
M3GD`^_.,A1F[E._]9+X(?71G%"H$UY8AR<- P,*I[.@)2Q"M%4L`X_<&FX=:
M(46X^T0 at ZZ'2..1YL)(JZ)W2&A,#E7F!O&CBDSR,,F*AL"0MDK-NCW1/L6^$
M]M0?'3C[(WOU4*'2'KI&4DVH#'QD9EUF at ZWZWJ@JW 5NW3* 3-E<O=5Y/_$X
M7;[G,+O at -?0(XS +O<B=RR?BU\%OB*ERW6IF+*%/6Z>!@:3KTA+9%F4V8V;A
MXH>?W[UKR,V)A<IT\*M,Q at M]E>N*"H.EK/,)I]V',-S<2Y>JZPYH!^*QD1LQ
MJ52C"XPXMX>3[$NUMF<(-J,6F:WY&X[>. .S<UTPBWK]1,;L93,TD<.P(UR!
M=G9&IY*;;:AH=XW*,6;0))8ICS5,F4?='!O1G/\'8J,6HWWS8^]]6%7\&V*C
M[O=@^(R]]Y9%<!P-Q_O/RLW03<&Q8+,Z.#YU!B-(79WA2 7'Q^!M,>Z%K&CV
M_N/KG]_]Z)Y\.#G#*/@8UA3Z(#Z>?J+'[IN?/[Q2VYX;VY=.7_H1"ND:MN,^
M?DPV>A,#R>+JICXWM"]DG)6=264/B/@'X:4K!8.H^ATL: =0BU\A<6MFH7V_
M.F!C4RQ,;6I%KD7/) O,MF'Y,0;3V at 9=]]\G'T;#'OOCC_*1^^J7G^"QZ_;(
M7 I+:#.8E4;QI<-JEG!+V4'T[S)"HX$4_%O&`00?O7K$7#?@?B06W.\&4<2_
M+9(TZY5B-MLHL+B[/<HJ0L42:(OA\F\^7\C-\D9=5X6JFHUI-0O#\9 /3.2Z
M5<3UVJI%!:-1R2\"SPB^]@OD01/VHSR G5X3LGGA-]=@B>CV_.X6N&Z[!S-;
MM]V#4ZS;;,O_4]L]>,BZ[0OEQ&IF1=F*N:?+DSFZL_LN\8+72U!IZ+\GJ)79
MB</4UYN3=S^RK36T_<5(_=O1X5Z:&NJO4.*7LJ#9$MLJSMA=H5J'K0%9?\I0
M=6C#=E=X6Z?=`XJNVU:BK=RJ'F")H;]_J.NTCQF/L")Q=_"\!U"\!["K at -CW
M^.(]@-/_2_A6.[4HG @=H$7JJWW'CO_7;-#:1V_=EQU:^[)#9 at B,6[)VCBNK
ME(=R([:"N+;_&NX9^Z]#S'_Z\ FOT35W=[%8`-0^2B_K:I=)^G5'.NO*[, at P
M!\J,^FOUU_O$YZW\J?JUJP]K5.?O+J/B_K%\>H75*)CT"=6J0L&9QV)^R40^
MV9XK3$]27:/P8O#T4&2HG"3F.Y+V3&HIC"+F12)A?LJQNNC%2]BW"8%=%UXJ
M3[V\*)%:Y>S26P)QJJID+HRFHTO3L5=94]NJ%-4<NTJZ@%U=<8H0TDD!.SYF
M1GT,FR[-:E%9D,_G2UV1O RSF9SI?)$MR_)EK6"C*H)]Q3$L57CAI6&2"Q9F
M=.P#8O+,WS&*.%(A:LKL&.6F`R^][W3TZ;C1QZ0I*L4![&S!VT"M at NI+$H@<
M-C$+2: )>KLCPO\@((-*]FQ]Z"HU1",OC_2A/)V24E48%CE.,C",Q2(*>5!2
M"UUAK,Q"U;OJHL(WB"'+WFSA+A+1W=.]IDG:#>.,1<!N[^BHWX]Z9JD,!(5@
M&4A)8X at YMIBQ?+X9)%G&@TVJM)=2-H\/G5$"&$YI"/EW-W<V'1+-O%P`H\MG
MJ H<R9N(),K!@.!9B+Y)I79\%?'X'*P(=<9Y8&H+UD*/^?#8EBK&\<J>V'37
M[6,:VI8&1[)O49 FJ)@...9S(7C@*$/$A],TF4LZ,B>+'=,5^C0\GV7R<,W 
M`6$DBGK%M57E$YA#5TKH:)E-S<&D(S(ZZT"=AE5RTB%)L@#=7?!(R6=.RR8T
M]%BQ9H.U%T7))?BWF$&ZZN<ENT0=> AX?0E*!'</].V7[B.<$/U^U,!WLI:]
M&U+X,^Y_E=.3!5HR5IJOG\#J^9F>K7R%R2'S8.'2S&9%S[HT_ at X>Y !5MUD*
MY>-'-:59,$)U_ (AJXN#30(\9W,/W,M>DR#A! DR)+ E7F0J\1\08P; 66=8
MQ3Z$T=.EBQ'H/>F_3M/49*"@:P0R6CPO%..B,?9ZSGI\*A%E73(0>SR&B)W*
MXS/73_(XJZH;F_0KZ4D\8_G"N/91A(<ZT5K at 7QG%B#\XQGF43+RJ&\'RP+J@
MM4\X8&T.8N')?H,$TJJ,LR%+ at .H\K\L_K\E\ZUX>@Z<I3T<<\@QDJ?7-TB5"
MD81Z5-T%3\/ITLH^2FJ63"U7DCZ$5(CO-FL,O9J#D7/4G427+-RWGGB99>EG
MB=!=>UG(>=8TES7LM=?F?R\A\0(AP at G&&C5;@;.44YUY`E:3Q[2>=08-$RZ\
M3LWR)YX9LUQW0MCNI!%L:VBEP=SE`2S!G3P\+V:"A_!-$-?(!2V-"SP;%])8
MF'<.*">RQOBH&QZ&%L.=B,_YA$Z;&]2LU&%*JJ5I5I%TDXQY?I;+0WQ/D3JE
MXV[B43EF:PTKC:U)C)0+'+7=:;'!V)=@22T^1ECQCYJC/&R==ILQQXF#^HU5
M2DG1(FB)%= ?KP0$&CBG>820!IF5-'U\FDA?IZU3J'87.B=J at QAL9NJ,;"EN
MV at G-7IG,M-B/"G;&7;Y;^=_MHQZUNM<44[AM^*/VG4&0VBU"H;SZB_!5FI;*
M.0N$$PAQZ)+A?,Z#$-7;YHN%'WZV`.QNH'0C(JW/JMTY;O9%+B/FS+O0._)*
MHI\E*G^HF%PM=5@=\(R1I7,"^U3;LC =WLZW;]JW3, OOMJ;%2^X\/ 64 +1
MG+::B;&DM+'J'Q<[GCX;*'HE(K!0&V]I+A(C+3N:>?+J$N.P?X<A"+*25$,,
M<5$L;"T=J;N.\@A6H36=&AM_M-TZ'A=7@;IEU=YV[;I)J5UZU>U*!DZS5]$D
MC"&KY1-D7./KU*^/00C"6M"U.@\\D%>)!_O/]$T$W;)9FERZ/$V3U/4BT&2P
M=%4TD<1TD<#2V4TWQ8H"3>,5*[#8C7FH5\1XO66/4IM1P58M<<L%KCK?C96,
MB:Y at WG0W#W)E1CNH(TN"13$/JX9EC599J5]_`TY7\ ]"C_H/*;6\-":OMZZZ
MWZI/;#K_!5!+`0(4"Q0````(`*NYR"R3$L[(L P``!4T```.``````````$`
L( ````````!S=6)M;V1U;&4N9&EF9E!+!08``````0`!`#P```#<# ``````
`
end








More information about the Cplusplus-sig mailing list