Skip to content

C++17 implementation of Dispatch_(or_drop)?_output_iterator #8854

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

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

lrineau
Copy link
Member

@lrineau lrineau commented Apr 21, 2025

Summary of Changes

This is a new implementation of Dispatch_output_iterator and Dispatch_or_drop_output_iterator, using:

  • derivation from template parameter pack (C++11),
  • with a using-declaration based on a pack (C++17).

And *_or_drop* is implemented using an enable-if trick with a boolean template parameter.

That new implementation loops around the issue with gcc-15, and fixes issue #8827.

See:

Release Management

This is a new implementation of `Dispatch_output_iterator` and `Dispatch_or_drop_output_iterator`, using:

  - derivation from template parameter pack (C++11),
  - with a using-declaration based on a pack (C++17).

And `*_or_drop*` is implemented using an enable-if trick with a boolean template parameter.

That new implementation loops around the issue with gcc-15, and fixes issue CGAL#8827.

See:
  - the CGAL CGAL#8827,
  - and the upstream gcc bug entry https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119859
Copilot

This comment was marked as outdated.

@lrineau lrineau requested a review from Copilot April 21, 2025 14:28
Copilot

This comment was marked as outdated.

@lrineau lrineau requested a review from Copilot April 22, 2025 09:52
Copilot

This comment was marked as outdated.

@lrineau
Copy link
Member Author

lrineau commented Apr 22, 2025

This PR seems fine, now: the Github CI tests pass. @sloriot let us know what you think of the new C++17 implementation of Dispatch_output_iterator and Dispatch_or_drop_output_iterator, and if this PR should be backported to 6.0.x-branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Error in gcc master detected in Boolean_set_operations_2_examples
2 participants