Re: [Boost-bugs] [Boost C++ Libraries] #7560: [preprocessor] empty tuples are reported to have length equal to 1

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #7560: [preprocessor] empty tuples are reported to have length equal to 1
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-10-24 04:10:39


#7560: [preprocessor] empty tuples are reported to have length equal to 1
---------------------------------------------------+------------------------
  Reporter: Bruno Dutra <brunocodutra@…> | Owner: no-maintainer
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: preprocessor
   Version: Boost 1.50.0 | Severity: Showstopper
Resolution: | Keywords: tuple empty 0 length size
---------------------------------------------------+------------------------

Comment (by Bruno Dutra <brunocodutra@…>):

 First of all I must thank the effor all the developers have clearly put
 into developing the Preprocessor library. It really is an amazing work.

 Back to the topic, now thinking about it, maybe () is indeed intended to
 be a 1-element tuple, following the fact, that an empty macro argument is
 still an argument since C99 and also C++11. That would ofcourse mean there
 is no such thing as an empty tuple as implemented by the Preprocessor
 library, but nonetheless, since there is no mention of such behavior on
 the documentation, one might be induced to understand, that an empty tuple
 is in fact well defined. Finaly, due to the fact this behaviour is
 dependent of one's subjective interpretation, as I see it this issue still
 configures a bug, at least a documentation one.

 Should however the reported behavior be confirmed as not intended, JENS
 GUSTEDT proposes a solution to the "problem of detecting empty variadic
 macro arguments" here: http://gustedt.wordpress.com/2010/06/08/detect-
 empty-macro-arguments/, which I would be glad to implement as a patch,
 once the intended behavior is well clarified.

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