$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Aleksey Gurtovoy (agurtovoy_at_[hidden])
Date: 2004-09-05 06:55:38
David Abrahams writes:
> "Jonathan Turkanis" <technews_at_[hidden]> writes:
> 
> > I liked BOOST_MPL_ASSERT_IS_SAME because I didn't have to use double
> > parantheses. 
> 
> But you were out of luck if one of the types contained commas.
> 
>   BOOST_MPL_ASSERT_IS_SAME(T, pair<int, long>)  // error!
> 
> and no amount of parenthesization could fix it.
Not to mention that when the assertion actually failed, you couldn't 
see what *is* the T. Now you get a beautiful error along these lines:
C:\home\depot\stuff\asserts.cpp(8) : error C2664: 'boost::mpl::assertion_failed' : 
cannot convert parameter 1 from 
'boost::mpl::failed ************boost::is_same<T,U>::* ***********                       ' 
to 'boost::mpl::assert<false>::type'
        with
        [
            T=std::pair<int,char>,
            U=std::pair<int,long>
        ]
        A reference that is not to 'const' cannot be bound to a non-lvalue
-- Aleksey Gurtovoy MetaCommunications Engineering