|
Boost Users : |
From: Pablo Aguilar (pablo.aguilar_at_[hidden])
Date: 2005-08-19 17:12:32
I believe it's because you can't && an expression to be used within a static
assert.
How about the following:
========================
struct attempt_to_invoke_functor_with_incorrect_number_of_arguments
: mpl::int_<1>
{
};
template<typename SEQ, int SIZE>
void assertSeqSize()
{
BOOST_STATIC_ASSERT(( mpl::and_<
boost::equal_to<boost::mpl::size<SEQ>::type, boost::mpl::int_<SIZE>
>
, attempt_to_invoke_functor_with_incorrect_number_of_arguments
));
}
========================
HTH
Pablo
"Stephen Gross" <sgross_at_[hidden]> wrote in message
news:004d01c5a4f4$9cbf10b0$8df51681_at_sgross...
> I'm trying to static assert the value of a sequence. I've got the syntax
> slightly wrong, but I can't quite figure it out. Here's what my code looks
> like:
>
> ==========================
> template<typename SEQ, int SIZE>
> void assertSeqSize()
> {
> BOOST_STATIC_ASSERT(( boost::equal_to<boost::mpl::size<SEQ>::type,
> boost::mpl::int_<SIZE> > )) &&
> "You have attempted to invoke a functor with the incorrect number of
> Arguments.";
> }
> ==========================
[snip]
> --Steve
>
> Stephen Gross
> Case Western School of Medicine
> Cleveland, OH
>
> "By Grabthar's hammer, by the sons of Worvan, you shall be avenged." - Dr.
> Lazarus
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net