Re: [Boost-bugs] [Boost C++ Libraries] #4421: fix for #4400

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4421: fix for #4400
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-05-19 13:52:24


#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 eldiener):

 It is usually possible to do a certain amount of parameter checking in
 Boost PP but there is a compile time expense to doing it. Adding more
 checking at a lower level slows down all macro code that uses that lower
 level macro, while doing more checking at a higher level only slows down
 that macro code calling the higher level macro. That was one decision on
 why I chose to only change BOOST_PP_SEQ_REPLACE.

 Another decision is to minimize possible changes to already existing usage
 while correcting functionality. The less change to have something work
 according to documentation is often more preferred than having more
 changes.

 I did update the documentation to BOOST_PP_SEQ_REST_N regarding the issue
 of using passing it an amount equal to or greater than the seq size.

 My Boost VMD library deals with emptiness as a viable concept in the
 preprocessor, because the test for emptiness, which can never work
 perfectly, is much better using variadic macros than when not using
 variadic macros. But in Boost PP, whose supports both non-variadic and
 some variadic macro use, emptiness should never be depended on.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4421#comment:11>
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:18 UTC