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

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #8606: Impossible to convert 0-size tuple to (empty) sequence any more (was: Warnings when converting 0-size tuple to sequence with MSVC)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-05-23 00:51:06


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

Comment (by vz-boost@…):

 After investigating this further, it turns out that doing this with
 variadic macros is not obvious at all because there doesn't seem to be any
 way to distinguish between empty tuple and a 1 element tuple as
 `BOOST_PP_VARIADIC_SIZE` returns 1 for both of them.

 Also, the reason for the difference in behaviour between g++ and MSVC was
 due to the fact that variadic support is not enabled for Boost Debian
 package for some reason (the compiler does support variadic macros, of
 course), so the situation is completely different there, sorry for the
 confusion.

 Anyhow, if there is really no way to handle empty tuples with
 `BOOST_PP_TUPLE_TO_SEQ` using variadic macros, could the same
 functionality be at least provided with non-variadic macros under a
 different name? It's really useful to handle tuples of all sizes
 consistently.

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