From: Steven Watanabe (steven_at_[hidden])
Date: 2007-03-13 17:25:01


Arkadiy Vertleyb <vertleyb <at> hotmail.com> writes:

>
> "Steven Watanabe" <steven <at> providere-consulting.com> wrote
>
> > The definition of BOOST_TYPEOF_NESTED_TYPEDEF
> > includes a semicolon at the end. It should act like a normal statement.
>
> There was a discussion in the past about whether or not such macros should
> contain semicolons. There was no agreement on this. We decided to include
> semicolons in typeof macros, where possible. This way it can be used with
> or without semicolon at the end.
>
> Of course this is not related to BOOST_TYPEOF or BOOST_AUTO, but
> BOOST_TYPEOF_REGISTER_XXX macros, for example, all contain semicolons at the
> end.
>
> Regards,
> Arkadiy
>

As far as I can make out from the standard, an extra
semicolon is only permitted at function scope. Trying
to put a semicolon after BOOST_TYPEOF_NESTED_TYPEDEF
inside a class or at namespace scope causes warnings
on at least metrowerks 9.2 and como 4.3.3

In Christ,
Steven Watanabe