missing include in boost + extra care for overload resolution (#8818)

Backward compatible fix for #8759

Thanks for the idea @mglisse
This commit is contained in:
Sebastien Loriot 2025-04-03 15:53:41 +02:00 committed by GitHub
commit 913c8bf40f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 7 additions and 1 deletions

View File

@ -46,6 +46,7 @@
#include <boost/type_traits/is_floating_point.hpp>
#include <boost/mpl/has_xxx.hpp>
#include <boost/graph/graph_traits.hpp>
#include <boost/range/has_range_iterator.hpp>
#include <type_traits>
@ -70,6 +71,8 @@ template<class VertexPointMap,class Base_traits> class Extreme_points_traits_ada
namespace Convex_hull_3 {
namespace internal {
BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(Has_nested_type_Collinear_3, Collinear_3, false)
// wrapper used as a MutableFaceGraph to extract extreme points
template <class OutputIterator>
struct Output_iterator_wrapper
@ -994,7 +997,8 @@ void convex_hull_3(InputIterator first, InputIterator beyond,
template <class InputIterator, class PolygonMesh, class Traits>
void convex_hull_3(InputIterator first, InputIterator beyond,
PolygonMesh& polyhedron,
const Traits& traits)
const Traits& traits,
std::enable_if_t<Convex_hull_3::internal::Has_nested_type_Collinear_3<Traits>::value>* = 0)
{
typedef typename Traits::Point_3 Point_3;
typedef std::list<Point_3> Point_3_list;

View File

@ -35,6 +35,7 @@
#include <CGAL/Real_timer.h>
#endif
#include <boost/range/has_range_iterator.hpp>
#include <boost/iterator/transform_iterator.hpp>
#include <boost/range/value_type.hpp>

View File

@ -28,6 +28,7 @@
#include <CGAL/Polygon_mesh_processing/connected_components.h>
#include <CGAL/Side_of_triangle_mesh.h>
#include <boost/range/has_range_iterator.hpp>
#include <boost/iterator/function_output_iterator.hpp>
#include <boost/mpl/if.hpp>