Subject: Re: [boost] MSVC warnings for BOOST_PP_IS_EMPTY in Boost.Phoenix
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2015-03-11 03:18:26


On Wed, Mar 11, 2015 at 10:11 AM, Damien Buhl <damien.buhl_at_[hidden]> wrote:
>
> // Without BOOST_PP_VARIADICS support :
> BOOST_FUSION_ADAPT_STRUCT(
> demo::employee,
> (BOOST_FUSION_ADAPT_AUTO, name)
> (BOOST_FUSION_ADAPT_AUTO, age)
> )
>
> Both signatures works on BOOST_PP_VARIADICS enabled compilers. Actually
> BOOST_FUSION_ADAPT_AUTO expands to BOOST_PP_EMPTY().

Perhaps, 'auto' would be shorter?

 BOOST_FUSION_ADAPT_STRUCT(
     demo::employee,
     (auto, name)
     (auto, age)
 )

It also looks kind of similar to C++14 lambdas.

> So I will change BOOST_FUSION_ADAPT_AUTO to some constant other than
> emptiness and check if it equals. These should not provide any warning
> anymore even on VC++ 8.0.
>
> I should be able to have a fix this evening.

Thanks. I currently disabled the warning locally in Boost.Log but I'd
rather not have to do that. It also doesn't fix warnings in users'
code.