Re: [Boost-bugs] [Boost C++ Libraries] #8606: Impossible to convert 0-size tuple to (empty) sequence any more

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #8606: Impossible to convert 0-size tuple to (empty) sequence any more
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-05-17 14:04:13


#8606: Impossible to convert 0-size tuple to (empty) sequence any more
-------------------------------+---------------------------
  Reporter: vz-boost@… | Owner: no-maintainer
      Type: Bugs | Status: closed
 Milestone: To Be Determined | Component: preprocessor
   Version: Boost 1.53.0 | Severity: Regression
Resolution: fixed | Keywords:
-------------------------------+---------------------------

Comment (by eldiener):

 It is not useful to have a tuple of 0 size and not be able to distinguish
 between '()' as a tuple of size 0 or a tuple of size 1 with the single
 element as empty. Since emptiness is perfectly allowable in the
 preprocessor, and since '(x,)' is clearly a tuple whose size is 2 with the
 second element being empty, it would always be wrong to make a special
 case for '()' and declare that this is tuple of size 0. Furthermore
 treating '()' as a apecial case would make it impossible to have a tuple
 of size 1 whose single element is empty.

 The VC++ preprocessor is a C++ non-standard conforming preprocessor and it
 is only with heroic effort that Paul Mensonides was able to get VC++ to
 handle Boost PP processing as much as it does ( there are numerous
 workarounds in Boost PP code just to handle VC++ ). The gcc preprocessor
 is vastly closer to the C++ standard.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/8606#comment:5>
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