Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4421: fix for #4400
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-08-30 16:05:26
#4421: fix for #4400
-------------------------------------------+--------------------------------
Reporter: Wolf Lammen <ookami1@â¦> | Owner: no-maintainer
Type: Patches | Status: new
Milestone: Boost 1.44.0 | Component: preprocessor
Version: Boost 1.44.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------------------+--------------------------------
Comment (by ookami1@â¦):
Replying to [comment:3 steven_watanabe]:
> Never mind. I missed the changes to split.hpp. However, I'm not sure
that n ## seq is legal if seq is empty.
You are right here, this will not work, when an empty sequence (actually
it will not be exactly empty, but BOOST_PP_EMPTY instead) is submitted.
Fortunately, you will never call BOOST_PP_SEQ_REPLACE with an empty
sequence. And calls to BOOST_PP_REST_N or BOOST_PP_FIRST_N with empty
sequences are considered illegal as well, according to the documentation.
So the problem reduces to a possibly internal usage of the latter macros,
exploiting the fact, that they internally appended a (nil) to sequences.
If I remember right, I already checked on that condition, but I am a bit
unsure right now, so I will do it again.
If it turns out to be a problem, the solution seems straightforward: For
Microwerks (only):
#define BOOST_PP_SEQ_SPLIT_0_BOOST_PP_EMPTY BOOST_PP_EMPTY, BOOST_PP_EMPTY
cheers Wolf Lammen
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/4421#comment:6> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:04 UTC