Fixes#7545
The Container type used for the vertices of the output Polygon_2 was
previously hardcoded to std::list<Point_2> inside Partition_traits_2.
This prevented users from requesting a different container (e.g.,
std::vector<Point_2>) for the output polygons produced by all
partitioning functions.
Changes:
* Partition_2/include/CGAL/Partition_traits_2.h
- Add a third template parameter
class Container_ = std::list<typename boost::property_traits<PointPropertyMap>::key_type>
to both the forward declaration and the class definition.
- Replace 'typedef ::std::list<Point_2> Container' with
'typedef Container_ Container', making the typedef an alias for
the template argument.
- Update the Self typedef to include all three template parameters.
All existing uses of Partition_traits_2<K> or Partition_traits_2<K,PM>
are fully backward-compatible since the new parameter defaults to
std::list, preserving the previous behaviour.
* Partition_2/doc/Partition_2/CGAL/Partition_traits_2.h
- Add \\tparam Container documentation.
- Add Container to the class template declaration.
- Document the Container typedef as reflecting the template parameter.
* Partition_2/doc/Partition_2/PackageDescription.txt
- Update the class listing to Partition_traits_2<R,P,Container>.