boostorg / boostorg/geometry

Proposal: let's remove xxx_insert versions of algorithms taking OutputIterator

Open
#863 1 comment 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
517
Forks
232
PR merge metrics
No merged PRs in 30d

Description

The algorithms:
- `convex_hull_insert`
- `intersection_insert`
- `difference_insert`
- `simplify_insert`
- `sym_difference_insert`
- `union_insert`

The main reason is that they take nonintuitive parameters, e.g. `intersection_insert` takes OutputIterator and in addition to this SingleGeometry because an iterator doesn't hold the necessary information for the algorithm to work. Another example is `convex_hull_insert` which takes the compile-time information Closure and Order from the input Geometry because the iterator doesn't hold it which can result e.g. in taking it from a Box while filling some unrelated output Range/Ring/Polygon with points.

Furthermore, they've been hidden in `detail` namespace so probably nobody uses them. But they have to be maintained.

What do you think?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.