mirror of https://github.com/CGAL/cgal
fix compilation issues
This commit is contained in:
parent
8700394122
commit
3176178224
|
|
@ -252,7 +252,7 @@ template <typename ArrSideCategory>
|
|||
struct Arr_is_side_oblivious {
|
||||
typedef ArrSideCategory Side_cat;
|
||||
typedef std::is_same<Side_cat, Arr_oblivious_side_tag> Is_same;
|
||||
typedef std::conditional<Is_same::value, Arr_true, Arr_false> result;
|
||||
typedef std::bool_constant<Is_same::value> result;
|
||||
typedef typename result::type type;
|
||||
};
|
||||
|
||||
|
|
@ -260,7 +260,7 @@ template <typename ArrSideCategory>
|
|||
struct Arr_is_side_open {
|
||||
typedef ArrSideCategory Side_cat;
|
||||
typedef std::is_same<Side_cat, Arr_open_side_tag> Is_same;
|
||||
typedef std::conditional<Is_same,::value Arr_true, Arr_false> result;
|
||||
typedef std::bool_constant<Is_same::value> result;
|
||||
typedef typename result::type type;
|
||||
};
|
||||
|
||||
|
|
@ -268,7 +268,7 @@ template <typename ArrSideCategory>
|
|||
struct Arr_is_side_identified {
|
||||
typedef ArrSideCategory Side_cat;
|
||||
typedef std::is_same<Side_cat, Arr_identified_side_tag> Is_same;
|
||||
typedef std::conditional<Is_same::value, Arr_true, Arr_false> result;
|
||||
typedef std::bool_constant<Is_same::value> result;
|
||||
typedef typename result::type type;
|
||||
};
|
||||
|
||||
|
|
@ -276,7 +276,7 @@ template <typename ArrSideCategory>
|
|||
struct Arr_is_side_contracted {
|
||||
typedef ArrSideCategory Side_cat;
|
||||
typedef std::is_same<Side_cat, Arr_contracted_side_tag> Is_same;
|
||||
typedef std::conditional<Is_same::value, Arr_true, Arr_false> result;
|
||||
typedef std::bool_constant<Is_same::value> result;
|
||||
typedef typename result::type type;
|
||||
};
|
||||
|
||||
|
|
@ -284,7 +284,7 @@ template <typename ArrSideCategory>
|
|||
struct Arr_is_side_closed {
|
||||
typedef ArrSideCategory Side_cat;
|
||||
typedef std::is_same<Side_cat, Arr_closed_side_tag> Is_same;
|
||||
typedef std::conditional<Is_same::value, Arr_true, Arr_false> result;
|
||||
typedef std::bool_constant<Is_same::value> result;
|
||||
typedef typename result::type type;
|
||||
};
|
||||
|
||||
|
|
@ -423,11 +423,12 @@ struct Arr_sane_identified_tagging {
|
|||
typedef boost::mpl::or_<LR_ide, LR_not_ide> LR_ok;
|
||||
typedef boost::mpl::or_<BT_ide, BT_not_ide> BT_ok;
|
||||
|
||||
/*! Boolean tag that is bool_<true> if opposite sides are either
|
||||
/*! Boolean tag that is bool_constant<true> if opposite sides are either
|
||||
* both identified or both not-identified,
|
||||
* otherwise bool_<false>
|
||||
* otherwise bool_constant<false>
|
||||
*/
|
||||
typedef boost::mpl::and_<LR_ok, BT_ok> result;
|
||||
typedef std::bool_constant<LR_ok::value &&
|
||||
BT_ok::value> result;
|
||||
static constexpr bool value = result::value;
|
||||
};
|
||||
|
||||
|
|
@ -447,10 +448,10 @@ struct Arr_has_identified_sides {
|
|||
typedef typename Arr_is_side_identified<Side_one_cat>::result Side_one_ide;
|
||||
typedef typename Arr_is_side_identified<Side_two_cat>::result Side_two_ide;
|
||||
|
||||
/*! Boolean tag that is bool_<true> if one side is identified,
|
||||
* otherwise bool_<false>
|
||||
/*! Boolean tag that is bool_constant<true> if one side is identified,
|
||||
* otherwise bool_constant<false>
|
||||
*/
|
||||
typedef boost::mpl::or_<Side_one_ide, Side_two_ide> result;
|
||||
typedef std::bool_constant<Side_one_ide::value || Side_two_ide::value> result;
|
||||
};
|
||||
|
||||
/*! Checks whether one of two boundary sides are contracted
|
||||
|
|
@ -463,10 +464,11 @@ struct Arr_has_contracted_sides_two {
|
|||
typedef typename Arr_is_side_contracted<Side_one_cat>::result Side_one_con;
|
||||
typedef typename Arr_is_side_contracted<Side_two_cat>::result Side_two_con;
|
||||
|
||||
/*!\ Boolean tag that is bool_<true> if one side is identified,
|
||||
* otherwise bool_<false>
|
||||
/*!\ Boolean tag that is bool_constant<true> if one side is identified,
|
||||
* otherwise bool_constant<false>
|
||||
*/
|
||||
typedef boost::mpl::or_<Side_one_con, Side_two_con> result;
|
||||
typedef std::bool_constant<Side_one_con::value ||
|
||||
Side_two_con::value> result;
|
||||
};
|
||||
|
||||
/*! Checks whether one of two boundary sides are closed
|
||||
|
|
@ -479,10 +481,11 @@ struct Arr_has_closed_sides_two {
|
|||
typedef typename Arr_is_side_closed<Side_one_cat>::result Side_one_clo;
|
||||
typedef typename Arr_is_side_closed<Side_two_cat>::result Side_two_clo;
|
||||
|
||||
/*! Boolean tag that is bool_<true> if one side is identified,
|
||||
* otherwise bool_<false>
|
||||
/*! Boolean tag that is bool_constant<true> if one side is identified,
|
||||
* otherwise bool_constant<false>
|
||||
*/
|
||||
typedef boost::mpl::or_<Side_one_clo, Side_two_clo> result;
|
||||
typedef std::bool_constant<Side_one_clo::value ||
|
||||
Side_two_clo::value> result;
|
||||
};
|
||||
|
||||
/*! Checks whether one of two boundary sides are open
|
||||
|
|
@ -495,10 +498,11 @@ struct Arr_has_open_sides_two {
|
|||
typedef typename Arr_is_side_open<Side_one_cat>::result Side_one_ope;
|
||||
typedef typename Arr_is_side_open<Side_two_cat>::result Side_two_ope;
|
||||
|
||||
/*! Boolean tag that is bool_<true> if one side is identified,
|
||||
* otherwise bool_<false>
|
||||
/*! Boolean tag that is bool_constant<true> if one side is identified,
|
||||
* otherwise bool_constant<false>
|
||||
*/
|
||||
typedef boost::mpl::or_<Side_one_ope, Side_two_ope> result;
|
||||
typedef std::bool_constant<Side_one_ope::value ||
|
||||
Side_two_ope::value> result;
|
||||
};
|
||||
|
||||
/*! Categorizes two boundary sides:
|
||||
|
|
|
|||
|
|
@ -58,11 +58,11 @@ public:
|
|||
|
||||
private:
|
||||
|
||||
typedef std::conditional<
|
||||
typedef std::conditional_t<
|
||||
std::is_same_v< Arr_smaller_implementation_tag, Arr_use_traits_tag >,
|
||||
std::true_type, std::false_type > Smaller_traits;
|
||||
|
||||
typedef std::conditional_t_<
|
||||
typedef std::conditional_t<
|
||||
std::is_same_v< Arr_larger_implementation_tag, Arr_use_traits_tag >,
|
||||
std::true_type, std::false_type > Larger_traits;
|
||||
|
||||
|
|
@ -71,7 +71,8 @@ public:
|
|||
//! the result type (if one side asks for traits, then ask traits!
|
||||
//! Or vice versa: If both ask for dummy, then dummy!)
|
||||
typedef std::conditional_t<
|
||||
Smaller_traits, Larger_traits >::value || Arr_use_traits_tag::value,
|
||||
Smaller_traits::value || Larger_traits::value,
|
||||
Arr_use_traits_tag,
|
||||
Arr_use_dummy_tag > type;
|
||||
|
||||
};
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ namespace Ss2 = Surface_sweep_2;
|
|||
//
|
||||
// error: no matching function for call to `do_intersect(Arrangement_2<>&,
|
||||
// const Arr_segment_2&, const Arr_walk_along_line_point_location<>&,
|
||||
// mpl_::bool_< true>)'
|
||||
// std::bool_constant< true>)'
|
||||
//
|
||||
template <typename GeometryTraits_2, typename TopologyTraits,
|
||||
typename PointLocation, typename ZoneVisitor>
|
||||
|
|
@ -135,7 +135,7 @@ void insert(Arrangement_on_surface_2<GeometryTraits_2, TopologyTraits>& arr,
|
|||
//
|
||||
// error: no matching function for call to `do_intersect(Arrangement_2<>&,
|
||||
// const Arr_segment_2&, const Arr_walk_along_line_point_location<>&,
|
||||
// mpl_::bool_< true>)'
|
||||
// std::bool_constant< true>)'
|
||||
//
|
||||
//
|
||||
template <typename GeometryTraits_2, typename TopologyTraits,
|
||||
|
|
@ -409,7 +409,7 @@ void insert_non_empty(Arrangement_on_surface_2<GeometryTraits_2,
|
|||
//
|
||||
// error: no matching function for call to `do_intersect(Arrangement_2<>&,
|
||||
// const Arr_segment_2&, const Arr_walk_along_line_point_location<>&,
|
||||
// mpl_::bool_< true>)'
|
||||
// std::bool_constant< true>)'
|
||||
//
|
||||
template <typename GeometryTraits_2, typename TopologyTraits,
|
||||
typename InputIterator>
|
||||
|
|
@ -463,7 +463,7 @@ void insert(Arrangement_on_surface_2<GeometryTraits_2, TopologyTraits>& arr,
|
|||
//
|
||||
// error: no matching function for call to `do_intersect(Arrangement_2<>&,
|
||||
// const Arr_segment_2&, const Arr_walk_along_line_point_location<>&,
|
||||
// mpl_::bool_< true>)'
|
||||
// std::bool_constant< true>)'
|
||||
//
|
||||
template <typename GeometryTraits_2, typename TopologyTraits,
|
||||
typename InputIterator>
|
||||
|
|
@ -1524,7 +1524,7 @@ zone(Arrangement_on_surface_2<GeometryTraits_2, TopologyTraits>& arr,
|
|||
// workaround since it didn't compile in FC3_g++-3.4.4 with the error of:
|
||||
//
|
||||
// error: no matching function for call to `do_intersect(Arrangement_on_surface_2<>&,
|
||||
// const Arr_segment_2&, const Arr_walk_along_line_point_location<>&, mpl_::bool_< true>)'
|
||||
// const Arr_segment_2&, const Arr_walk_along_line_point_location<>&, std::bool_constant< true>)'
|
||||
//
|
||||
template <typename GeometryTraits_2, typename TopologyTraits,
|
||||
typename PointLocation>
|
||||
|
|
@ -1562,7 +1562,7 @@ do_intersect(Arrangement_on_surface_2<GeometryTraits_2, TopologyTraits>& arr,
|
|||
//
|
||||
// error: no matching function for call to
|
||||
// `do_intersect(Arrangement_on_surface_2<>&,
|
||||
// const Arr_segment_2&, const Arr_walk_along_line_point_location<>&, mpl_::bool_< true>)'
|
||||
// const Arr_segment_2&, const Arr_walk_along_line_point_location<>&, std::bool_constant< true>)'
|
||||
//
|
||||
template <typename GeometryTraits_2, typename TopologyTraits,
|
||||
typename PointLocation>
|
||||
|
|
|
|||
|
|
@ -295,7 +295,7 @@ protected:
|
|||
* \param tag The tag used for dispatching.
|
||||
*/
|
||||
void _map_boundary_vertices(Event* event, Vertex_handle v,
|
||||
boost::mpl::bool_<true> /* tag */);
|
||||
std::bool_constant<true> /* tag */);
|
||||
|
||||
/*!
|
||||
* Update the boundary vertices map.
|
||||
|
|
@ -306,7 +306,7 @@ protected:
|
|||
* \param tag The tag used for dispatching.
|
||||
*/
|
||||
void _map_boundary_vertices(Event* event, Vertex_handle v,
|
||||
boost::mpl::bool_<false> /* tag */);
|
||||
std::bool_constant<false> /* tag */);
|
||||
|
||||
/*!
|
||||
* Update a newly created vertex using the overlay traits.
|
||||
|
|
@ -319,7 +319,7 @@ protected:
|
|||
* \param tag The tag used for dispatching.
|
||||
*/
|
||||
void _create_vertex(Event* event, Vertex_handle res_v, Subcurve* sc,
|
||||
boost::mpl::bool_<true> /* tag */);
|
||||
std::bool_constant<true> /* tag */);
|
||||
|
||||
/*!
|
||||
* Update a newly created vertex using the overlay traits.
|
||||
|
|
@ -331,7 +331,7 @@ protected:
|
|||
* \param tag The tag used for dispatching.
|
||||
*/
|
||||
void _create_vertex(Event* event, Vertex_handle res_v, Subcurve* sc,
|
||||
boost::mpl::bool_<false> /* tag */);
|
||||
std::bool_constant<false> /* tag */);
|
||||
|
||||
/*!
|
||||
* Update a newly created edge using the overlay traits.
|
||||
|
|
@ -922,7 +922,7 @@ _map_halfedge_and_twin(Halfedge_handle he,
|
|||
//
|
||||
template <typename OvlHlpr, typename OvlTr, typename Vis>
|
||||
void Arr_overlay_ss_visitor<OvlHlpr, OvlTr, Vis>::
|
||||
_map_boundary_vertices(Event* event, Vertex_handle v, boost::mpl::bool_<true>)
|
||||
_map_boundary_vertices(Event* event, Vertex_handle v, std::bool_constant<true>)
|
||||
{
|
||||
// Update the red and blue object if the last event on sc is on the boundary.
|
||||
if ((event->parameter_space_in_x() != ARR_INTERIOR) ||
|
||||
|
|
@ -960,7 +960,7 @@ _map_boundary_vertices(Event* event, Vertex_handle v, boost::mpl::bool_<true>)
|
|||
template <typename OvlHlpr, typename OvlTr, typename Vis>
|
||||
void Arr_overlay_ss_visitor<OvlHlpr, OvlTr, Vis>::
|
||||
_map_boundary_vertices(Event* /* event */, Vertex_handle /* v */,
|
||||
boost::mpl::bool_<false>)
|
||||
std::bool_constant<false>)
|
||||
{}
|
||||
|
||||
/* Notify the overlay traits about a newly created vertex.
|
||||
|
|
@ -974,7 +974,7 @@ void Arr_overlay_ss_visitor<OvlHlpr, OvlTr, Vis>::
|
|||
_create_vertex(Event* event,
|
||||
Vertex_handle new_v,
|
||||
Subcurve* sc,
|
||||
boost::mpl::bool_<true>)
|
||||
std::bool_constant<true>)
|
||||
{
|
||||
const Point_2& pt = event->point();
|
||||
const Cell_handle_red* red_handle = pt.red_cell_handle();
|
||||
|
|
@ -1011,7 +1011,7 @@ _create_vertex(Event* event,
|
|||
return;
|
||||
}
|
||||
|
||||
_create_vertex(event, new_v, sc, boost::mpl::bool_<false>());
|
||||
_create_vertex(event, new_v, sc, std::bool_constant<false>());
|
||||
}
|
||||
|
||||
/* Notify the overlay traits about a newly created vertex. */
|
||||
|
|
@ -1020,7 +1020,7 @@ void Arr_overlay_ss_visitor<OvlHlpr, OvlTr, Vis>::
|
|||
_create_vertex(Event* event,
|
||||
Vertex_handle new_v,
|
||||
Subcurve* sc,
|
||||
boost::mpl::bool_<false>)
|
||||
std::bool_constant<false>)
|
||||
{
|
||||
const Point_2& pt = event->point();
|
||||
const Cell_handle_red* red_handle = pt.red_cell_handle();
|
||||
|
|
|
|||
|
|
@ -55,13 +55,13 @@ private:
|
|||
// This function is invoked for traits classes where at least one
|
||||
// boundary is not oblivious and all boundaries are not identified.
|
||||
bool operator()(const Point_2& p1, const Point_2& p2,
|
||||
boost::mpl::bool_<false>) const
|
||||
std::bool_constant<false>) const
|
||||
{ return (m_traits.compare_xy_2_object()(p1, p2) == CGAL::SMALLER); }
|
||||
|
||||
// This function should be invoked for traits classes where at least one
|
||||
// boundary is identified.
|
||||
bool operator()(const Point_2& p1, const Point_2& p2,
|
||||
boost::mpl::bool_<true>) const
|
||||
std::bool_constant<true>) const
|
||||
{
|
||||
// Compare in y boundaries:
|
||||
CGAL::Arr_parameter_space ps_y1 =
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ public:
|
|||
typedef std::conditional_t<Has_internal_pmap::value,
|
||||
typename boost::property_map<PolygonMesh, PropertyTag>::const_type,
|
||||
typename boost::cgal_no_property::const_type
|
||||
>::type const_type;
|
||||
> const_type;
|
||||
|
||||
type get_pmap(const PropertyTag& p, PolygonMesh& pmesh)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ struct Point_accessor<Handle, ValueType, ConstReference, true>
|
|||
typedef ValueType value_type;
|
||||
typedef Handle key_type;
|
||||
|
||||
typedef std::conditional_t< std::is_reference<ConstReference>,
|
||||
typedef std::conditional_t< std::is_reference_v<ConstReference>,
|
||||
ValueType&,
|
||||
ValueType > Reference;
|
||||
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@ public:
|
|||
// Tag_true if COEFF and ROOT are exact
|
||||
typedef std::conditional_t<
|
||||
std::is_same_v<typename CGAL::Algebraic_structure_traits<ROOT_ >::Is_exact,::CGAL::Tag_true> &&
|
||||
std::is_same<typename CGAL::Algebraic_structure_traits<COEFF_>::Is_exact,::CGAL::Tag_true>
|
||||
std::is_same_v<typename CGAL::Algebraic_structure_traits<COEFF_>::Is_exact,::CGAL::Tag_true>
|
||||
,::CGAL::Tag_true,::CGAL::Tag_false> Is_exact;
|
||||
|
||||
typedef typename Algebraic_structure_traits<COEFF_>::Is_numerical_sensitive
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
3// Copyright (c) 2012 INRIA Sophia-Antipolis (France).
|
||||
// Copyright (c) 2012 INRIA Sophia-Antipolis (France).
|
||||
// All rights reserved.
|
||||
//
|
||||
// This file is part of CGAL (www.cgal.org)
|
||||
|
|
|
|||
|
|
@ -50,8 +50,8 @@ void resize(Container& CGAL_assertion_code(array), std::size_t CGAL_assertion_co
|
|||
template <class Container>
|
||||
void resize(Container&, std::size_t,
|
||||
std::enable_if_t<
|
||||
!boost::mpl::or_<has_resize<Container>,
|
||||
has_size<Container> >::value >* = nullptr)
|
||||
!(has_resize<Container>::value ||
|
||||
has_size<Container>::value)>* = nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -95,7 +95,8 @@ namespace internal {
|
|||
|
||||
template <typename K>
|
||||
struct Itag {
|
||||
typedef std::conditional_t<(typename Algebraic_structure_traits<typename K::FT>::Is_exact)::value,
|
||||
using Is_exact = typename Algebraic_structure_traits<typename K::FT>::Is_exact;
|
||||
typedef std::conditional_t<Is_exact::value,
|
||||
Exact_intersections_tag,
|
||||
Exact_predicates_tag> type;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue