Re: [fusion] Proposal for deprecating fusion.tuple.
Lee Clagett <[email protected]>
| Newsgroups | gmane.comp.parsers.spirit.general |
|---|---|
| Message-ID | <20170930094147.1965e468@laptop-m1330> |
On Fri, 29 Sep 2017 11:18:35 -0700 chris beck <[email protected]> wrote: > > I propose deprecating fusion.tuple, it makes fusion.vector > > implementation complex. > > If fusion::tuple is deprecated in favor of std::tuple, would this > also mean that boost::fusion would require C++11-conforming standard > library to compile? No, I _think_ what the OP noticed was that users of `fusion::tuple` could move to `fusion::vector`. There are some subtle differences, but the difference is unlikely to matter in most (all?) cases. This could save on some maintenance work in Fusion. > Right now, unless I'm mistaken, fusion works fine even on e.g. gcc > 4.5, and there are many C++03 etc. projects that depend on it. > > What is the gain that you hope to achieve here, improved compilation > times? How can moving to std::tuple accomplish that, since presumably > the implementation quality of std::tuple will vary greatly from > compiler to compiler? Wouldn't it be simpler to just try to make > fusion::tuple faster in the perceived problematic cases? The OP was primarily concerned about maintaining `fusion::tuple`. I unfortunately injected a performance angle, and hopefully my next response to Kohei will make it more clear why. > > Hence, why not replace fusion::tuple with hana tuple? > > And hana is also far more demanding than fusion in terms of compiler > support. For instance it doesn't work at all on MSVC yet, and so is > totally inappropriate for some cross-platform projects. > Agreed, `hana::tuple` is not appropriate for many situations since it requires a conforming C++14 compiler which is not always available. I do not expect the removal of a working C++03 `fusion::vector`. Lee ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot