Hi, I've attached a version of static_assert.hpp that I would find rather useful. The minimal changes are at the bottom of the file.
It also had me thinking about the static_assert proposal: http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1381.htm The proposal doesn't say anything about a compile time release and debug mode. I guess one could always define the 'static_assert' keyword to be nothing, but perhaps compiler support for disabling and enabling static assertions is more useful. Then again, maybe I'm exagerating the usefulness of this. Personally I do notice a compilation time improvement if I remove all concept-checks, but that could be my code of course :). Regards, Jaap Suter begin 666 static_assert.hpp M+R\@("A#*2!#;W!Y<FEG:'[EMAIL PROTECTED];B!-861D;V-K(#(P,# N#0HO+R @4&5R M;6ES<VEO;B!T;R!C;W!Y+"!U<V4L(&UO9&EF>2P@<V5L;"!A;F0-"B\O("!D M:7-T<FEB=71E('1H:7,@<V]F='=A<F4@:7,@9W)A;G1E9"!P<F]V:61E9"!T M:&ES(&-O<'ER:6=H="!N;[EMAIL PROTECTED]<PT*+R\@(&EN(&%L;"!C;W!I M97,N(%1H:7,@<V]F='=A<F4@:7,@<')O=FED960@(F%S(&ES(B!W:71H;W5T M(&5X<')E<W,@;W(@:6UP;&EE9 T*+R\@('=A<G)A;G1Y+"!A;[EMAIL PROTECTED]:"!N M;R!C;&%I;2!A<R!T;R!I=',@<W5I=&%B:6QI='[EMAIL PROTECTED](&%N>2!P=7)P;W-E [EMAIL PROTECTED] @4V5E(&AT=' Z+R]W=W<N8F]O<W0N;W)G+VQI8G,O<W1A=&EC M7V%S<V5R="!F;W(@9&]C=6UE;G1A=&EO;BX-"@T*+RH-"B!2979I<VEO;B!H M:7-T;W)[EMAIL PROTECTED](" @,#(@075G=7-T(#(P,# -"B @(" @($EN:[EMAIL PROTECTED] M<VEO;BX-"BHO#0H-"[EMAIL PROTECTED]/4U1?4U1!5$E#7T%34T525%](4% - M"B-D969I;[EMAIL PROTECTED]/4U1?4U1!5$E#7T%34T525%](4% -"@T*(VEN8VQU9&4@ M/&)O;W-T+V-O;F9I9RYH<' ^#0H-"B-I9F1E9B!?7T)/4DQ!3D1#7U\-"B\O M#0HO+R!W;W)K87)O=6YD(&9O<B!B=6=G>2!I;G1E9W)A;"UC;VYS=&%N="!E M>'!R97-S:6]N('-U<'!O<G0Z#0HC9&5F:6YE($)/3U-47T)51T=97TE.5$5' M4D%,7T-/3E-404Y47T584%)%4U-)3TY3#0HC96YD:68-"@T*;F%M97-P86-E M(&)O;W-T>PT*#0HO+R!(4"!A0T,@8V%N;F]T(&[EMAIL PROTECTED]:"!M:7-S:6YG M(&YA;65S(&9O<B!T96UP;&%T92!V86QU92!P87)A;65T97)S#0IT96UP;&%T M92 \8F]O;"!X/B!S=')[EMAIL PROTECTED]/3E]&04E,55)%.PT* M#0IT96UP;&%T92 \/B!S=')[EMAIL PROTECTED]/3E]&04E,55)% M/'1R=64^('[EMAIL PROTECTED];2![('9A;'5E(#T@,2!].R!].PT*#0HO+R!(4"!A0T,@ M8V%N;F]T(&[EMAIL PROTECTED]:"!M:7-S:6YG(&YA;65S(&9O<B!T96UP;&%T92!V M86QU92!P87)A;65T97)S#0IT96UP;&%T93QI;G0@>#X@<W1R=6-T('-T871I M8U]A<W-E<G1?=&5S='M].PT*#0I]#0H-"B\O#0HO+R!);7!L:6-I="!I;G-T M86YT:6%T:6]N(')E<75I<F5S('[EMAIL PROTECTED](&UE;6)E<B!D96-L87)A=&EO M;G,@8F4-"B\O(&EN<W1A;G1I871E9"[EMAIL PROTECTED]('[EMAIL PROTECTED]&AE(&1E9FEN:71I M;VYS(&%R92 J;F]T*B!I;G-T86YT:[EMAIL PROTECTED]<R!N;W0@ M<&%R=&EC=6QA<FQY(&-L96%R(&AO=R!T:&ES(&%P<&QI97,@=&[EMAIL PROTECTED];2=S M(&]R('1Y<&[EMAIL PROTECTED]:"!A<[EMAIL PROTECTED]&5S8W)I8F5D(&%S(&1E8VQA M<F%T:6]N<R!;-RXQ+C-=(&%N9"!;-RXR72!I;B!T:&4@<W1A;F1A<F0L#0HO M+R!H;W=E=F5R('-O;[EMAIL PROTECTED]<&EL97)S('5S92 B9&5L87EE9"!E=F%L=6%T M:6]N(B!O9B!O;F4@;W(@;[EMAIL PROTECTED]@=&AE<[EMAIL PROTECTED];B!I;7!L:6-I M=&QY(&EN<W1A;G1I871I;F<@=&5M<&QA=&5S+B @[EMAIL PROTECTED]('1Y<&5D968@ M9&5C;&%R871I;VYS#0HO+R!B>2!D969A=6QT+"[EMAIL PROTECTED]')Y(&1E9FEN:6YG M($)/3U-47U5315]%3E5-7U-4051)0U]!4U-%4E0@:[EMAIL PROTECTED]&AE(&5N=6T-"B\O M('9E<G-I;[EMAIL PROTECTED]<R!B971T97(@<F5S=6QT<R!F<F]M('EO=7(@8V]M<&EL M97(N+BX-"B\O#0HO+R!);7!L96UE;G1A=&EO;CH-"B\O($)O=&@@;[EMAIL PROTECTED]&AE M<[EMAIL PROTECTED]<VEO;G,@<F5L>2!O;B!S:7IE;V8H:6YC;VUP;&5T95]T>7!E*2!G M96YE<F%T:6YG(&%N(&5R<F]R#0HO+R!M97-S86=E(&-O;G1A:6YI;F<@=&AE M(&YA;64@;[EMAIL PROTECTED]&AE(&EN8V]M<&QE=&[EMAIL PROTECTED]'EP92X@(%=E('5S90T*+R\@(E-4 M051)0U]!4U-%4E1)3TY?1D%)3%5212(@87,@=&AE('1Y<&4@;F%M92!H97)E M('1O(&=E;F5R871E#0HO+R!A;B!E>[EMAIL PROTECTED];F<@97)R;W(@;65S<V%G M92X@(%1H92!R97-U;'0@;[EMAIL PROTECTED]&AE('-I>F5O9B!E>'!R97-S:6]N(&ES(&5I M=&AE<@[EMAIL PROTECTED]"!A<R!A;B!E;G5M(&EN:71I86QI<V5R+"!O<B!A<R!A M('1E;7!L871E(&%R9W5M96YT(&1E<&5N9&EN9R!W:&EC:"!V97)S:6]N#0HO M+R!I<R!I;B!U<V4N+BX-"B\O($YO=&[EMAIL PROTECTED]&AA="!T:&[EMAIL PROTECTED])G=6UE;[EMAIL PROTECTED]&\@ M=&AE(&%S<V5R="!I<R!E>'!L:6-I=&QY(&-A<[EMAIL PROTECTED]&[EMAIL PROTECTED];"!U<VEN9R!O M;&0M#0HO+R!S='EL92!C87-T<[EMAIL PROTECTED]&]O(&UA;[EMAIL PROTECTED]<&EL97)S(&-U<G)E M;G1L>2!H879E('!R;V)L96US('=I=&@@<W1A=&EC7V-A<W0-"B\O('=H96X@ M=7-E9"!I;G-I9&4@:[EMAIL PROTECTED]<W1A;[EMAIL PROTECTED]<F5S<VEO;G,N#0HO M+PT*(VEF("%D969I;F5D*$)/3U-47T)51T=97TE.5$5'4D%,7T-/3E-404Y4 M7T584%)%4U-)3TY3*2 F)B A9&5F:6YE9"A?7TU715)+4U]?*0T*#0HC:68@ M9&5F:6YE9"A"[EMAIL PROTECTED],24Y%7U\@;6%C<[EMAIL PROTECTED])O:V5N M('[EMAIL PROTECTED])(&ES('5S960@<V5E(%$Q.3DP-3<-"B\O(&9O<G1U;F%T96QY M($U35D,@:6=N;W)E<R!D=7!L:6-A=&[EMAIL PROTECTED]'[EMAIL PROTECTED](V1E9FEN92!" M3T]35%]35$%424-?05-315)47TE-4$PH($(@*2!<#0H@("!T>7!E9&5F(#HZ M8F]O<W0Z.G-T871I8U]A<W-E<G1?=&5S=#Q<#0H@(" @("!S:7IE;V8H.CIB M;V]S=#HZ4U1!5$E#7T%34T525$E/3E]&04E,55)%/" H8F]O;"DH($(@*2 ^ M*5P-"B @(" @([EMAIL PROTECTED]<W1?<W1A=&EC7V%S<V5R=%]T>7!E9&5F7PT*(V5L M:[EMAIL PROTECTED]&5F:6YE9"A"3T]35%])3E1%3%]#6%A?5D524TE/3BD-"B\O(&%G=7)T M(#$U+W-E<"\P,[EMAIL PROTECTED]<&5C:6%L(&-A<F4@:7,@;F5E9&5D('1O(&9O<F-E M($EN=&5L($,K*R!I<W-U92!A;B!E<G)O<B -"B\O(&EN<W1E860@;[EMAIL PROTECTED] M;FEN9R!I;B!C87-E(&]F(&9A:6QU<F4-"B,@9&5F:6YE($)/3U-47U-4051) M0U]!4U-%4E1?24U03"@@0B I(%P-"B @("!T>7!E9&5F(&-H87(@0D]/4U1? M2D])3BAB;V]S=%]S=&%T:6-?87-S97)T7W1Y<&5D969?+"!?7TQ)3D5?7RD@ M7 T*(" @(" @("!;(#HZ8F]O<W0Z.E-4051)0U]!4U-%4E1)3TY?1D%)3%52 [EMAIL PROTECTED]&)O;VPI*"!"("D@/[EMAIL PROTECTED](V5L<V4-"B\O(&=E;F5R:6,@ M=F5R<VEO;@T*(V1E9FEN92!"3T]35%]35$%424-?05-315)47TE-4$PH($(@ M*2!<#0H@("!T>7!E9&5F(#HZ8F]O<W0Z.G-T871I8U]A<W-E<G1?=&5S=#Q< M#0H@(" @("!S:7IE;V8H.CIB;V]S=#HZ4U1!5$E#7T%34T525$E/3E]&04E, M55)%/" H8F]O;"DH($(@*2 ^*3Y<#0H@(" @(" @("!"3T]35%]*3TE.*&)O M;W-T7W-T871I8U]A<W-E<G1?='EP961E9E\L(%]?3$E.15]?*0T*(V5N9&EF M#0H-"B-E;'-E#0HO+R!A;'1E<FYA=&EV92!E;G5M(&)A<V5D(&EM<&QE;65N M=&%T:[EMAIL PROTECTED](V1E9FEN92!"3T]35%]35$%424-?05-315)47TE-4$PH($(@ M*2!<#0H@("!E;G5M('[EMAIL PROTECTED]/4U1?2D])3BAB;V]S=%]S=&%T:6-?87-S97)T M7V5N=6U?+"!?7TQ)[EMAIL PROTECTED] T*(" @(" @/2!S:7IE;V8H.CIB;V]S=#HZ M4U1!5$E#7T%34T525$E/3E]&04E,55)%/" H8F]O;"DH($(@*2 ^*2!]#0HC M96YD:68-"@[EMAIL PROTECTED]&AI<R!I<R!T:&[EMAIL PROTECTED]($)/3U-47U-4051)0U]! [EMAIL PROTECTED]&5F:6YI=&EO;[EMAIL PROTECTED]);B!C;VUP:6QE+71I;64@<F5L96%S M92UM;V1E('1H:7,@<F5S=6QT<R!I;B!A(&YO+6]P.PT*(VEF9&5F($)/3U-4 M7U-4051)0U].1$5"54<-"B @(" C9&5F:6YE($)/3U-47U-4051)0U]!4U-% M4E0H($(@*2!"3T]35%]35$%424-?05-315)47TE-4$PH('[EMAIL PROTECTED](V5L M<V4-"B @(" C9&5F:6YE($)/3U-47U-4051)0U]!4U-%4E0H($(@*2!"3T]3 M5%]35$%424-?05-315)47TE-4$PH($(@*0T*(V5N9&EF#0H-"B-E;F1I9B O ;+R!"3T]35%]35$%424-?05-315)47TA04 T* ` end _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost