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