$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Rene Rivera (grafik.list_at_[hidden])
Date: 2005-12-30 13:09:14
Eric Niebler wrote:
> 
> You can help improve Boost.Foreach and Boost.Typeof for your favorite 
> compiler! Read on.
Well typeof is already native and working fine for CW (8.3) :-)
> Eric Niebler wrote:
>> Thorsten Ottosen wrote:
>>
>>> Now it works on vc7.1 too.
>>
>> getting this to work with vc7.1 is a major advance. Thanks.
> 
> I am now using the compile-time-const-rvalue-detection trick in the 
> new-and-improved BOOST_FOREACH. For the first time, it's passing its 
> tests at 100% for VC7.1 and VC8. Also, const rvalues are being detected 
> on gcc 3.4+ with zero runtime overhead. Very nice!
> 
> OK, now here's a simple thing anybody can do to improve Foreach and 
> Typeof. Try compiling the attached file on your favorite compiler and 
> report the results. I already know it works for VC7.1+ and gcc 3.4+. 
> Everything else is up for grabs.
Doesn't work at all with CW-8.3. With some mods to get some better error 
messages (attached):
is_rvalue.cpp:76: illegal use of incomplete struct/union/class 
'impl_::rvalue<2, 0>'
is_rvalue.cpp:77: illegal use of incomplete struct/union/class 
'impl_::rvalue<2, 0>'
is_rvalue.cpp:78: illegal use of incomplete struct/union/class 
'impl_::rvalue<2, 0>'
is_rvalue.cpp:79: illegal use of incomplete struct/union/class 
'impl_::rvalue<2, 0>'
is_rvalue.cpp:90: illegal use of incomplete struct/union/class 
'impl_::rvalue<2, 0>'
is_rvalue.cpp:91: illegal use of incomplete struct/union/class 
'impl_::rvalue<2, 0>'
is_rvalue.cpp:92: illegal use of incomplete struct/union/class 
'impl_::rvalue<2, 0>'
is_rvalue.cpp:93: illegal use of incomplete struct/union/class 
'impl_::rvalue<2, 0>'
is_rvalue.cpp:94: illegal use of incomplete struct/union/class 
'impl_::rvalue<2, 0>'
is_rvalue.cpp:101: illegal use of incomplete struct/union/class 
'impl_::rvalue<2, 0>'
is_rvalue.cpp:102: illegal use of incomplete struct/union/class 
'impl_::rvalue<2, 0>'
...Without the mods it just says "illegal constant expression" a bunch 
of times :-)
-- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim - Grafik/jabber.org