From f977cf62b92d07b5077882652b7aa53282e57990 Mon Sep 17 00:00:00 2001 From: Christos Stratopoulos Date: Thu, 5 Apr 2018 17:58:28 -0400 Subject: [PATCH 01/11] Add Upgrading from Boost 1.67 section --- doc/ptr_container.html | Bin 26262 -> 59730 bytes doc/ptr_container.rst | 30 +++++++++++++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/doc/ptr_container.html b/doc/ptr_container.html index b3d7a7d4c5dbeb722cfdbee6ac33f54a1c7fe7dd..de3103e1da6aebfbdcbc94b0f5b8375ba0a87ff7 100644 GIT binary patch literal 59730 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 literal 26262 zcmcDqugJ|&C`&CW&dkrVRWj5wP*Oxw!*LMkVQHbye@%2$K)H6^BDN4*M&Me8y&r8hF*LU?( zQc%h$DJihh*Do(G*DE*H%P&gT4++w*0GVY7(hOzlmLTcWODRcFvg5J=DN?A&&B-ga z#bS)1rKKfAw-QK^RZb$v;i-8_3UC(4jMT&wJ1(2t)RII6kW+M13rjQ0Y?Ykz^GZ_l zN_0ai3sRL7k|8`>rIOT&5`B=p)(XiPiABY!CAQF@(1)3lmzbMstCXIams*rql3#?R z*(E=@v?Md9SiwNgSkKVF3T&a3zJ3Z+T(3C4v?w_>Ex#x|RWC2KL|;h(WNJxfNlvPr zQ+|GNi9$erW?o5ZkpjqhiJ5t+MG8KdNkxf8l{WeiWl*m`9FbUBl7Zrakc|AI;*!)n z1^<$g{9;g8fGhxe9-<>9u>{$>M&>0M3i)XY{>dfzNvTB&Mg|7v5Jw^DNzN~*EXqvJ zC_(ZnxW19acZi9kEgS%U$ASuVZ4D} zNkxgK9>l%HC6zg;3MG{VsnAGFE-qHG zjFU^O6w)Cg4yDDZMaAfm#AW4@Sdwa`paP;)xU7Ow%Q8V(#!5j2##8~B1q~xBg^&!8 z??BEe&PYuyQOHOvR!B-s%~L4INlZ>nQOL{#d$^!9DJL^oAtgUIF*8q(i_0Z7EwMDG zL?Jn`I5`oN2^An-f*6vPUj)_#&T09jB?YA=pm>9&I6W?|;M7#i^p*xrW-0l}#rhff zsYR)v$jmQGEh@@PNma-%$w)0yNJz*{EK1MJ(=Ev_ zNJs#s1TF;yglJNJNlAWgLIT9I#R?@Ei6si41dx*m$_CJ|LO56s)Ck2mtIf+Q z(#uIKF40lYE6*&+&@C=a0_Q+vZ4lRE)0vT(l9HMSR-2MpT#%DkX{C^tpO*?UHc_u6 zKUp^^F*&;^H4Ur;RO;xaq$cMVf%6MgsWq2^LUMjievy?zQchxWHb`$$PJVKBVQGFz zs$ObAW_nR#K?c|ah(D|pj8bzIOjC0etU-!Xa`a$Dk3vcck~&?u!}UOlYr)YPnwOlP zo12m1+dX2po$PclwYI+c1=cRUI|1Ho)IA2y!?_>2&*Ks0KzCwEXvEwOGgTQNGyRInUr6Y zl3HY?keiy4S(>YmUs_U}TA~1wDM(BKl>t@?hN-#Ws04)*+~EoZdWmojBq$)3fgFZS z66|WYTd}DC2L;Ia*d)Q)OEL?v$btQZJqp00X^FX+Ih9rl#ff>vy2YtQnQ3tEz``Ai zsSw{lqXL^e*hP@o!6ps%4LHKE$$~Y*;srA(!Cr!9yrR?;aD0IMf|7ngu>=;y?n8Yo z1)?)lQEEylsAecjEh@=OPRvm#E=WvHRmjW(m2}DZxdr*9c_|77iA9Ov3}37V_5fT$ z56033mut|lgK0y^=4Pg(=!BGmI3zKREy*viQZRrPEucyR zq%$Qo1=buu6ugkE04jq(!HFf$f`q}L46XvK6f#Q^LA53{Dw1f%HNn1{{K*tdArHE3-kuQ1>922MS^&E+U9Q6)&iU z!eWvEIB7$zgm~5v8f)MbR-BoVnv@9fBdRJ;4a23NKxFv^vKmy~r5Aw`vMw}hDW|2S zrKP5V-B6yHQj%e%U}B&O=BDN3Cze<#fE%4)0cZ$A1fZUWxvoI3s5Gf4GZ`GD;ONDY zBSB68%N2v;1zO<3OsXs{NzK*GO)V}?OiwKa8wByM6}U3Rp)A7?tP<)SP)UJRAy^TS zA%)$50=;4s7eY#Wu(?Qh1- zFpC+Ke1>LrPGV7dY7wODf;8cC6N~cm^S~m=-bS=d3-q8R8dCNKyB1$@MuZ!{ArCVe zCCiXzI@la=IfCv$6i0xR6{YGWrlb_XasxC%VHFrkwF9o{AR?&F0XG%VLe@&6Xp;fexrnwg$S|-Rw7rv`l#^Ll3hp+d8Kaw$nvS8x1M4!4-j(LUDdhW(sHoBu^o|D6tY0ix4d- z`N^4iY58CskfZ=f1kid5t_U&?2#OepDp>snYwAKp;aLLK?1C5oYG;D`Vju%>ISf7~ z0MP^Q>6fJFD4+{v=y1V>!0ty;1QCG@BtSc!&~Sh>;z5ZLCJs&b2nkrH1=iUv$p;sg zaO)r;QIesTmYJH9q6->^L~449xNK4~ z%M`%Hjja+WQGhanl0s&Rtx^(bh*`G)GQ_M48uJDZG3(|)hM1K=!{vrBt>E^TlATRv zZn{EZPKm7&c!X9-p|~g+YLZ?-UOH&-72lwBhM^so4LB{p%!TG4C55yi@IZQ5erAf2 zLQ!c>YO$>nXow8tjO6?rH1*(=0kVzD28$%fFR7r>NYHS12`C&C%D@dfTcwix0+5L% zMRqnN8CVUqgN_f|=$B-GT$^HtKDuqAUy@>HqhC@4lEz~YY(yDhl1(DaN^sv?p(r&i zwJ0?&IaNs^qbN1aRw*|zGp8iqDlfGdG!m+&Y-VDeT&$OvSgMzjtz?H)*hW9m4m1vm zFdNiA$7ys4$l&7CJh0g*sa2UNsi2;{k{u2SknyMll zD{vs#l%$~O)&<3lk{!b77y$yBq=C*CAq9j>YC&RA2`DLphP|Eha|=pAHD7RYCMYmL zPS#OyOw38jFG^Pk&C3K&Yn4>$fX15@h_ehiWL&_Zq~KUk3^ExU7+gd|KWK&k;%zRQ zk`y~^lPh4eh%m|-Hs^w59(t;z-<%6^AqXyBz%zVkb2LhJXab;6)zm`{3w>~=1(jvs z!UDAvgEj>~**L=xly*Rc8EBrNEHkxSNdZ))*eb#KcK&6lMIafFEjIe#5~u(&y{3mb zy;e|^UzVAYS`3~71Q&Ma#r;u8a zoC$W1ND$WJNe0y!-uwKy|958}&| z)WjT+RBxd&A}13R6VQ4FBNr>@=9graflC4< zJ6|{(5+ymAc3d|2^_P^Ekd@v|srlb}@3n(H&G%c|Z z8WwJjfkfM_Tw0J`1fGu6O)JXJ)dlBq-7;N6U1MV<0!R`%hg+tnV5nzotfxf{ zOHA-uVnQ8DOz~P`N{S_Er6r|Bsk$ktWvMy&1)%z>Sjo-}EU4guBuISNBqnF)<(KEA zrlf8fK zTbfgn30DH+VNsV@0P$09VgVLekSV!vB~Tt*ovuQHXI@HXQED=103)q54?K`vtYDJ~ z6^&0T%|ll03>t+|$Scjs0Vi1WgbEH1U6?c|dUO>MTw#?w&iF?(1HcBPf?{7mR~OWp zNy#iDqAi0|SwdSgNFo^3C$vQqo{^fDT9#U*kO-=+!EJ=pB8BqAypm#2`ynH-EL9;9 zDfQ;3DL@lFNS+I|VWR+T*yw;(nG~ghS|p{#rHMH?l?wTJU?LU0wNsv0X~k8NuK;eS zpjlL$n^;tWur4PvI~89uTu)D5Pfs7LDZZejNWVBEu_!eK!~{j2k{!6#v9dx4gNi&Z z@Isr!f`X#_#N-T+i;GK>Km$~uA@a;LNXrG$kA#k?qcmVZZLs2!e9+Vl)c@eMCwciL z3J|+=6p}y-ZOZdfQ$XI&DJ{+{OUGPG)Kfs6_`31VqSXf|{COKNb{aCYGe4*jiu*4gy#!613h1w74u4lpY|B zT3CZn7aRldjE}U=2DJ1C6a=8=C3=!5!WU;ml<`V-$vOFXsVSh?f+a8ojr<}|>p3~G zI2F_kPE^QEEC8oE5ThV91*%XXx3suKAt{wB5!BK_YJ!7$z7S)fDmC>K-13VQQbCCz zKMjw*?G73Aks=H?d_WMn4mg3BLW=;*4F9g-BJ@B*a_ zP`e%!BYKb=0!l=w3W+IYiFqa9*-u0{fe4^tP`-eu$Cbb#O?r4?3F#3*3mgSd3QJ5+ z1$W1D6Z0|)NJGnrh1}HK{Gv)-c)5~@(yh%;1Fc6uE|-%N^Ay1K1bAg7 zBH_WtpLOAx95!5~oS9-|3>i(#OfiD>y+KU7XhXwTP`Uy~GO=cv!pt&8m}RVF7j0++ zHVZUJKvpqp3JsJ{XeE}GSPU93D#=L9Qz$J4b$L+}16r|5UU--w{9pp|10~^MiZII* zWEO?tVFnEkPuB72d*=7Kx^`HDixA5Kx^Gn6iV{T6N^$n2{;wHI2BY(Lo;$Q zS7u&uNoryWNUSI|rxFyB`JnPHRROx1rYte1G*ve#5ws>0ZWFYKhV*=OxbpJL6*5ae z))(X#7lRT%c+AD7qy$n-K?bhDOQ~}}GhB%|N_IA&nI)KXK~XBGbSsDl4W(;n+USEM zK_j#!cAz|8lv+|+1aTE)8Dk1;Mu^91Q-6WwnbTHqC%nqiM~wE&nqs82ZurlsMUe+DY<^JfcnL$G&83} zH#1M6xU>MYoEIDiDXFOix}X)`3dO0piFqZN$;ApFcY}&iM5e|l7vKV*23ro+9-opO z$P9RAF*!dE)XM{v7$^lFq&`Z?EJmu55{puaseF7uk&%{@S^-W`;Jl7EmxCKccsxZ` zvlPuUpjNsl4?Rz&Bz8 z?Ootgf^$%Z#B>WA145)%NK|KlW`qjtJk!A5gSaFWGJXWgJ&+b$aVl(QN-?OU0Z%=F z0xA`psf$t(i|X_9Qn_*yv%rnYlGGw_u?8v1tUwJ)1z5%@Rsa<`xtY0{$w*@0VJi|n zR$P)|WtE#)fL!S4aRn5mmSyIb7Uxug{gsy~Nte3g#n)Oa)toT)m{!^vpaB zO&x_)FgGCLykg1?(tB`7~psk&$pveWAO9mU4oL^d^05Tke71Thh$*r?f zE3F_bgiNMhc4{TWFr50pr9FmDtxS*$GIc=?PRq~N(6m<2*H-|wZxuqUtiU2%wOls( z1x2ZLTs8%EpkZn7b^}lxfl@rEhYD&`fk&N+K%M){ypsGO8HkWT0Btw`g$c<43D#bm znw+1P0@4o&QwSd{1rAIC!RrW`JA-5~P!XJ%1X|b+$t2)R1uuL+!Jn8@oUf3XS5lM@ zT9gc*0Dv^_Z3G#5xxl@0bjXnGsew+AIZaGFNWNeZCGYfgS*3TOfmH1~if z&tNxAp+G|+FST4DL_yP<3ts-~6_gfdK$;5*1t1w%>VtISL9-F)esf7J$}CGw(Jjf> zbprKPA&Id#Gd~a1fhDoj0Pk;0OD#fetXL6D(nv)DWE2q;Y9Qx;@|J=^S!%L17m^y# z$RJ1s)a_tJATet$Jv}|HveaZfxI;jC5v2!6kpd*2f>J?#HavSm0thlPTwv!2N*>^~ zDd3JW!P*nF>M1=>KQk{SwF2BWP=ZdyLHa|WIsqxQDI}$qfZFNM773_S#O$qudTgMS zL2-QuZ?8jYq0GE=j7bhW^A98@07E@v@N@-^`Y<>ZG~ETAJO@{AplAT^8_P`u?WO|H zGbZMM+L?LT;PNpzH7T*UBr`EjAt*67F*zf(NRKNrzf=J{#8s(~nU|bXnvzOtdlQs; zzzIqpR1LxNk3MMcMq*B8RjOV_K>;XTq2}5mg@V+gjKqRst}M{N4WcSnKy1|lYX|KV z1Ff8g#Udz4fqU=Jk#o>U1GugRH9|py&xjr}xMvATP@sOaof$kD|m z$UY9qNG(oP06SX&GFY#Wn4Ao1t3&sGf>vySM*iT5O`$v^6Fj8LRh*xjT9TQYS`2PH zr=}>BXQbwVBONr*4eIMbC-4U8c0zzWM zfi_lBr5yl{b1N&j8x=q%gPK;bf(tqj0xr+3tUw6{p2w`LK#DaGS~L-Pmg1TfK6-__ zX2mnKTLQ=yBAnpdl|z;>Y3=Afj2Vj;F# z9XgZ&Y8z9*SI{1 zSaUrDye%KJp*}BP0dx)kc#y9ITqA?q7^%eym8m6=dCroI)JkykD={Y*bQncu3TXKU zXhUjAJ{O6Z5}fEDMGmgytV3#9jASO>!~_~nAm6#*iU%B&f&q?ycLI|qmpw@c|cqIaOof+5(dI~78mSMjGfC5Kjg0JVj;!s38klkOCUsD#<5( zs)Y#GLK9$t9ZJA}M%5tgc~CDW8FVa=LM~`t4K#)c5-LvxO{_sub8$&xNvfU#WcdnY zF|I-pXaPb|YOw;SzoSr+kzbmgQKF*&8i|99lY={RpmS;zGE-6$i^1*N(qizbCaJ~h z;BgYr0IH5cK~5@YtSTixPrXDTBefW`#R+^a3%G1bE>Xx$h5G?CmZO6*`vV?m*YgA& zmr+oZ5ALI77Ars}_)79q^1;V^zzqP$0XUt4n@Err6v!{B#U0Ydc}i> zjpD&h2lq&GN~}Y4^z`)5%Vj+UE>DHbyt35dl1$L-T#5qdIGdErv^3Cy>JrdoV|jjQ zPKrWODr8SUW{E-yXonYQnh-P`UXl-rD!2w6g~Xhs)XWkt&|D1Y+ziMprJjOQX^DcT z0yK0%E380KUz7?t*a_07f@NaR_A$`OKZ(U93g8H;Oie5TD@o4JO@&1+D8fO5B}J*A zt_`@C3o24Fk!J376g(A*OViUqfeIdU1J%=9C5buN3gBFk3py%7p`Zw~-a1twF$v@! zkoPk|hY5k#CZy!&!D5}rq7!4)DYV?g5XZ3^6;Wa;q~+)29-1v#L(n=(*` zGc^x1$5W{Q>X@dL=0L|Ma5Sr(vJUSk%2ROBQwT~d&Mhr2PR#=+u+ltG9~Qhw6&!xB zb#r;?3c289Ut9uOi3Z9W(5kl*Q6mNgymPI=4IxjW`hk(EY1cw6`~ouv<(!) zu(hEGy^yn{9FvL?GZJ$li|IiMNlfsddZZ{dxdgOM5v3}ClnV&!0usyea}->P@{a$i=aihxv7~c5G&I&%RqLfrKW%;-N8d%DWIYOvYetMBb5u* z%L46X08bx))($Hq=clA9q?VhXfQ$0$J!-iKD6UzE)S8+8KJKA>~DN>Yo!0}co` z1(&3zCFUsv=Oh+@4wM5mG(EuUB@{d|^YRk&Af=vfYDp1jbAC4Hlr!+uI>Lk?P}Q0XA+8HV0PO zLCu4-T8S(Y;jQLk*wP#%5sc;Z-~te|IVTm?zz2B#tU$}-V3Pv*X|P?U#SlH<-hqySvp#4iR4C}+ zJ_WD*Qc!+XaIGjvEh;GntqLv8C9unkj2JRB7^o;RG*GgOhAaew$B|Q3Vo_eILU2h@ zeko|Cq(BEcqYnyHP}l?@_Kzv}B<7`;CZ?xCf)H;94Jk^CQj1d)i;^=y$9I6^wl1ky z-?%6x9<=OLuOKB&$H0!OB)60|TQB zu!;H*3N*3;D`ee@@^ck@Q$foK6RxR=MLD3& zxQQhtsksFu;B{)yRkENdP*}y~3GMWQ4uAy>!-BLIC4$DtK+7Idi$FcrymTTf*SwOP zoXjNf7VE@f$aX0uJHHSgP$>#-<$+Acw}Aj!s^{mIWEK>I&8Y;nvh__;Qp@zgt_N>l z)5`#@uFcGYcmia)o&uL6*o)wv6lhT!sG*gVUy=dsR%NC_rl>(3X83-nV({<{*kz#U zx}4O+Y#JmJ^8rgH=1O+a=BUZU(=Ws|$j>pv)8Eh0Mzz$(nFf!NFQQ-0{ zNzGL-GPEGJag$$=nx|V_k^;^QStZGa`o+mcM*8LHMuwm^Y_Wb$dAe>g*j`X+nxkw4 za;+nLAQHT;H@^hbWmHJY%mbB%1)x*NK*t3@Hz+|mt|_qdo%3@G5{oj6^Yg$PZ>b-T zMg!J9H3GFyEs2On$7JxiO@!mo$c&hHOixbMOV29>M`3;*=wL9=OqYI6W>RrUO0u@L zKIl+)P&_7r?S;mpkr`-De`=8ect`=X{SLHUD-*Ox3EWpK2JJM1uSNt7P=LBh;B(;= zic3-yU`t69K;=K^xN2I(=YX|ljXaNO6!6MotbH^c1+UT^aJ#{f1{q+$n!QG#W-oLb6ukX!lbUO%ftb)s%Yz;L4V!%f z?Wt0-GXzz$$f+HxLK7uBBalK(8~xN=JLriED4UmvY)XI!+rT*nlueNL-h#I7f=oq)k;2Z-GvDA|j@YiH#{!)R;mf0Qjg8EdHU5 zGSIp8_!@Xt3Xb3n{$<6W;>XGglF7i0D{y3@?vDm}hng`pU~O?wF&%A))~814J|Sls ze1Th1p08V+lCGDMnwy`emz=LxnysH)T9j0jn3I^NUyxXkT2!o`T3VD}kdt4a?^l|W z;}72N3mM`7@f9EfpbV%(Os6LUbXFK>sVe3eAowsm(4uR!Q9#@Wp&`!C1C9Hk9D@dt z0w1jfxlshf#2f&GxdN;lw00kU9vWB#a>SY)+R;-uPVmBc7?l~MK!=@|g*l)D9d3nD PAg6*(N&ua1W5)#mAJX`_ -Furthermore, `insert iterators `_ have been added. +Furthermore, `insert iterators `_ have been added. + + + +=================================== +Upgrading from Boost v. ``1.66.*`` +=================================== + +Starting with Boost v. ``1.67.0``, Boost.Pointer Container will use +`Boost.Config <../../config/index.html>`_ to conditionally replace +``std::auto_ptr`` interfaces with ``std::unique_ptr``. Details +are on the `Compatible Smart Pointer `_ +page, which also explains the convention in this documentation of using + +.. parsed-literal:: + *compatible-smart-ptr* + +to indicate such conditional interfaces. + +For C++98/03 users, this change has no observable effect. + +Note that until C++17, it is possible to construct +``std::unique_ptr`` from ``std::auto_ptr``, so users compiling +with C++11 or C++14 may not notice any change, although it is a good +idea to remove any explicit use of ``std::auto_ptr`` all the +same. The most likely cause of issues may be code that relies on +``std::auto_ptr`` being copyable, but such errors will occur at +compile-time and should be easy to fix. ===================== Future Developments From 2e0873039b0805d5f14ba0e05a2b7780fa1a0e28 Mon Sep 17 00:00:00 2001 From: Christos Stratopoulos Date: Thu, 5 Apr 2018 17:58:44 -0400 Subject: [PATCH 02/11] Add page documenting compatible-smart-ptr convention --- doc/compatible_smart_ptr.html | Bin 0 -> 23548 bytes doc/compatible_smart_ptr.rst | 60 ++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 doc/compatible_smart_ptr.html create mode 100644 doc/compatible_smart_ptr.rst diff --git a/doc/compatible_smart_ptr.html b/doc/compatible_smart_ptr.html new file mode 100644 index 0000000000000000000000000000000000000000..0f0f2981ee2a5a9eb76f51190a14fdb993959644 GIT binary patch literal 23548 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 + +to indicate that either ``std::auto_ptr`` or +``std::unique_ptr`` is being used depending on the compiler C++ standard. + +**Details:** + +The ISO C++11 standard saw the addition of the smart pointer class template +``std::unique_ptr``, and with it the formal deprecation of +``std::auto_ptr``. After spending C++11 and C++14 with deprecated +status, ``std::auto_ptr`` has been formally removed as of +the ISO C++17 standard. As such, headers mentioning +``std::auto_ptr`` may be unusable in standard library +implementations which disable ``std::auto_ptr`` when C++17 or later +is used. Boost.Pointer Container predates the existence of +``std::unique_ptr``, and since Boost v. ``1.34`` it has provided +``std::auto_ptr`` overloads for its interfaces. To provide +compatibility with old and new compilers, macros are used for +compile-time replacement of ``std::auto_ptr`` interfaces with +``std::unique_ptr`` interfaces. + +`Boost.Config <../../config/index.html>`_ defines the macro +``BOOST_NO_CXX11_SMART_PTR`` for compilers where +``std::unique_ptr`` is not available. For such compilers, +Boost.Pointer Container provides function overloads which use +``std::auto_ptr``. Otherwise, these overloads will use +``std::unique_ptr`` instead. Thus, all mentions of + +.. parsed-literal:: + *compatible-smart-ptr* + +shall be understood to mean that `Boost.Config +<../../config/index.html>`_ has been used as outlined above to provide +a smart pointer interface that is compatible with compiler settings. + +**Navigate** + +- `home `_ +- `reference `_ + +.. raw:: html + +
+ +:Copyright: Thorsten Ottosen 2004-2006. Use, modification and distribution is subject to the Boost Software License, Version 1.0 (see LICENSE_1_0.txt__). + +__ http://www.boost.org/LICENSE_1_0.txt + From 90f30d40dda289d2c6d37d52255367b4c049ddd6 Mon Sep 17 00:00:00 2001 From: Christos Stratopoulos Date: Thu, 5 Apr 2018 23:42:47 -0400 Subject: [PATCH 03/11] Wording change --- doc/compatible_smart_ptr.html | Bin 23548 -> 23558 bytes doc/compatible_smart_ptr.rst | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/compatible_smart_ptr.html b/doc/compatible_smart_ptr.html index 0f0f2981ee2a5a9eb76f51190a14fdb993959644..c46d8f0e82f1953388e67a9f7ea4335448db0c2d 100644 GIT binary patch delta 52 zcmeyfow02P;|2*|#YBc=h9ZW1hGK?d1_g#h1_g#9hD3%uhIEEh1_g$EhP25qouxN> I`EKF^0E9peJOBUy delta 50 zcmZqM!T4u8;|2*|`ErI#h7yJh1_g$Eh8%_z1_g#hhCDEx$B@cUKDj?od~<~FIz9ks CK@FY& diff --git a/doc/compatible_smart_ptr.rst b/doc/compatible_smart_ptr.rst index c17f758..30f5657 100644 --- a/doc/compatible_smart_ptr.rst +++ b/doc/compatible_smart_ptr.rst @@ -27,7 +27,7 @@ implementations which disable ``std::auto_ptr`` when C++17 or later is used. Boost.Pointer Container predates the existence of ``std::unique_ptr``, and since Boost v. ``1.34`` it has provided ``std::auto_ptr`` overloads for its interfaces. To provide -compatibility with old and new compilers, macros are used for +compatibility across a range of C++ standards, macros are used for compile-time replacement of ``std::auto_ptr`` interfaces with ``std::unique_ptr`` interfaces. From ad47fab8896748e9a9b0edc175b01f4e23a73ac7 Mon Sep 17 00:00:00 2001 From: Christos Stratopoulos Date: Thu, 5 Apr 2018 23:43:48 -0400 Subject: [PATCH 04/11] Generate compatible-smart-ptr version of revserible_ptr_container --- doc/comp_rever_ptr_container.sh | 3 +- doc/reversible_ptr_container.html | 442 +++++++++++++++++------------- doc/reversible_ptr_container.rst | 25 +- 3 files changed, 273 insertions(+), 197 deletions(-) diff --git a/doc/comp_rever_ptr_container.sh b/doc/comp_rever_ptr_container.sh index 8396462..305ec27 100644 --- a/doc/comp_rever_ptr_container.sh +++ b/doc/comp_rever_ptr_container.sh @@ -9,5 +9,6 @@ #// For more information, see http://www.boost.org/libs/ptr_container/ #// -rst2html.py reversible_ptr_container.rst > reversible_ptr_container.html +rst2html.py reversible_ptr_container.rst | + sed 's@compatible-smart-ptr@compatible-smart-ptr@g' > reversible_ptr_container.html diff --git a/doc/reversible_ptr_container.html b/doc/reversible_ptr_container.html index 2d284a4..ede30c5 100644 --- a/doc/reversible_ptr_container.html +++ b/doc/reversible_ptr_container.html @@ -3,15 +3,13 @@ - + Boost Pointer Container Library