Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Boost.MP11 and Boost.Hana type lists? #141

Closed
rhalbersma opened this Issue Apr 24, 2018 · 5 comments

Comments

Projects
None yet
3 participants
@rhalbersma
Copy link

rhalbersma commented Apr 24, 2018

BOOST_AUTO_TEST_CASE_TEMPLATE uses Boost.MPL's machinery (in particular: boost::mpl::for_each) to automate tests cases over type lists. However, Boost.MPL is not compatible with the modern Boost.MP11 and Boost.Hana type lists, firing BOOST_MPL_ASSERT(( is_sequence<Sequence> )); when passing an mp11::mp_list or a hana::tuple instead of an mpl::vector.

Is it possible to swap out the Boost.MPL implementation for Boost.MP11? I think Boost.MP11 uses only pattern matching on variadic parameter packs to determine if something is a type list, so it should be backward compatible with existing code that passes mpl::vector as type lists, or even with Boost.Hana (or std::tuple) type lists. To accomodate C++98 users, using an MP11 implementation can be done conditionally on the compiler version.

@raffienficiaud raffienficiaud self-assigned this Oct 2, 2018

@raffienficiaud

This comment has been minimized.

Copy link
Member

raffienficiaud commented Oct 2, 2018

Indeed, we can easily remove the use of mpl in this case (sorry for the delayed answer).

@kedarbhat

This comment has been minimized.

Copy link

kedarbhat commented Feb 15, 2019

Both mp11 and Hana provide facilities for use with MPL/Fusion: Godbolt Compiler Explorer Example

@raffienficiaud

This comment has been minimized.

Copy link
Member

raffienficiaud commented Mar 3, 2019

I have a possible implementation in the branch topic/GH-141-mp11-hana-typelist. Would you please give a try? The signature of the test declaration does not change.

@raffienficiaud

This comment has been minimized.

Copy link
Member

raffienficiaud commented Mar 3, 2019

raffienficiaud added a commit that referenced this issue Mar 5, 2019

Merge branch 'topic/GH-141-mp11-hana-typelist' into next-internal
* topic/GH-141-mp11-hana-typelist:
  Change log
  Template test cases: handling the references and volatile in the test-case names
  Template test cases with arbitrary parameter pack

@raffienficiaud raffienficiaud added this to the 1.70 milestone Mar 7, 2019

@raffienficiaud raffienficiaud added 1.70 and removed develop labels Mar 7, 2019

@raffienficiaud

This comment has been minimized.

Copy link
Member

raffienficiaud commented Mar 7, 2019

In master, should be in 1.70.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.