问题描述
我正在尝试构建一个在三角形中产生无限随机点的范围。为此,我使用了 Cgal,它已经提供了在三角形中生成随机点的功能。
Triangle coarseTriangle = {v[0],v[1],v[2]};
Cgal::Random_points_in_triangle_2<Point> randomSamplesGenerator(coarseTriangle);
然而,Cgal::Random_points_in_triangle_2
返回一个迭代器。为了产生一个范围,我需要一个总是返回 false 的哨兵。 range-v3 中是否已经有这样的哨兵,还是我必须自己编写一个?
解决方法
您可以使用 std::unreachable_sentinel
(或 ranges::unreachable
中的 <range/v3/iterator/unreachable_sentinel.hpp>
):
ranges::subrange randomSamplesRange(randomSamplesGenerator,ranges::unreachable);