diff --git a/AABB_tree/include/CGAL/AABB_halfedge_graph_segment_primitive.h b/AABB_tree/include/CGAL/AABB_halfedge_graph_segment_primitive.h index a86ba35caac..9a673026409 100644 --- a/AABB_tree/include/CGAL/AABB_halfedge_graph_segment_primitive.h +++ b/AABB_tree/include/CGAL/AABB_halfedge_graph_segment_primitive.h @@ -23,9 +23,8 @@ #include #include -#include +#include #include -#include #include #include diff --git a/AABB_tree/include/CGAL/AABB_polyhedron_segment_primitive.h b/AABB_tree/include/CGAL/AABB_polyhedron_segment_primitive.h index 1ece35826bf..2ace80acf22 100644 --- a/AABB_tree/include/CGAL/AABB_polyhedron_segment_primitive.h +++ b/AABB_tree/include/CGAL/AABB_polyhedron_segment_primitive.h @@ -26,8 +26,7 @@ #define CGAL_REPLACEMENT_HEADER "" #include -#include -#include +#include namespace CGAL { @@ -80,9 +79,9 @@ namespace CGAL { : m_halfedge_handle(*ptr) { }; template AABB_polyhedron_segment_primitive( Iterator it, - typename boost::enable_if< - boost::is_same - >::type* =0 + std::enable_if_t< + std::is_same::value + >* =0 ) : m_halfedge_handle(*it) { } AABB_polyhedron_segment_primitive(const Self& primitive) diff --git a/AABB_tree/include/CGAL/AABB_polyhedron_triangle_primitive.h b/AABB_tree/include/CGAL/AABB_polyhedron_triangle_primitive.h index 8f04132d7a7..b45ae54039c 100644 --- a/AABB_tree/include/CGAL/AABB_polyhedron_triangle_primitive.h +++ b/AABB_tree/include/CGAL/AABB_polyhedron_triangle_primitive.h @@ -22,8 +22,7 @@ #define CGAL_REPLACEMENT_HEADER "" #include -#include -#include +#include namespace CGAL { /// \ingroup PkgAABBTreeRef @@ -76,9 +75,9 @@ namespace CGAL { : m_facet_handle(*ptr) { }; template AABB_polyhedron_triangle_primitive( Iterator it, - typename boost::enable_if< - boost::is_same - >::type* =0 + std::enable_if_t< + std::is_same::value + >* =0 ) : m_facet_handle(*it) { } diff --git a/AABB_tree/include/CGAL/AABB_tree/internal/AABB_ray_intersection.h b/AABB_tree/include/CGAL/AABB_tree/internal/AABB_ray_intersection.h index 9e6898d2c8a..e738302d533 100644 --- a/AABB_tree/include/CGAL/AABB_tree/internal/AABB_ray_intersection.h +++ b/AABB_tree/include/CGAL/AABB_tree/internal/AABB_ray_intersection.h @@ -18,8 +18,8 @@ #include +#include #include -#include #include # if defined(BOOST_MSVC) # pragma warning(push) @@ -201,7 +201,7 @@ template boost::optional< typename AABB_tree::template Intersection_and_primitive_id::Type > AABB_tree::first_intersection(const Ray& query, const SkipFunctor& skip) const { - CGAL_static_assertion_msg((boost::is_same::value), + CGAL_static_assertion_msg((std::is_same::value), "Ray and Ray_3 must be the same type"); switch(size()) // copy-paste from AABB_tree::traversal diff --git a/AABB_tree/include/CGAL/AABB_triangulation_3_triangle_primitive.h b/AABB_tree/include/CGAL/AABB_triangulation_3_triangle_primitive.h index 623649eb7a3..e573dc71f49 100644 --- a/AABB_tree/include/CGAL/AABB_triangulation_3_triangle_primitive.h +++ b/AABB_tree/include/CGAL/AABB_triangulation_3_triangle_primitive.h @@ -18,8 +18,7 @@ #include -#include -#include +#include namespace CGAL { // \ingroup PkgAABBTreeRef @@ -68,9 +67,9 @@ namespace CGAL { : m_facet(*ptr) { } template AABB_triangulation_3_triangle_primitive( Iterator it, - typename boost::enable_if< - boost::is_same - >::type* =0 + std::enable_if_t< + std::is_same::value + >* =0 ) : m_facet(*it) { } diff --git a/Algebraic_foundations/examples/Algebraic_foundations/fraction_traits.cpp b/Algebraic_foundations/examples/Algebraic_foundations/fraction_traits.cpp index 3d85eed1e86..1bd5f4bd02a 100644 --- a/Algebraic_foundations/examples/Algebraic_foundations/fraction_traits.cpp +++ b/Algebraic_foundations/examples/Algebraic_foundations/fraction_traits.cpp @@ -9,8 +9,8 @@ int main(){ typedef FT::Numerator_type Numerator_type; typedef FT::Denominator_type Denominator_type; - CGAL_static_assertion((boost::is_same::value)); - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); + CGAL_static_assertion((std::is_same::value)); Numerator_type numerator; Denominator_type denominator; diff --git a/Algebraic_foundations/include/CGAL/Algebraic_structure_traits.h b/Algebraic_foundations/include/CGAL/Algebraic_structure_traits.h index 5c3b6f0ee2e..cdfca730976 100644 --- a/Algebraic_foundations/include/CGAL/Algebraic_structure_traits.h +++ b/Algebraic_foundations/include/CGAL/Algebraic_structure_traits.h @@ -354,7 +354,7 @@ class Algebraic_structure_traits_base< Type_, typedef typename CT::Type Coercion_type_NT1_NT2; CGAL_USE_TYPE(Coercion_type_NT1_NT2); CGAL_static_assertion(( - ::boost::is_same::value)); + ::std::is_same::value)); typename Coercion_traits< NT1, NT2 >::Cast cast; operator()( cast(x), cast(y), q, r ); diff --git a/Algebraic_foundations/include/CGAL/Coercion_traits.h b/Algebraic_foundations/include/CGAL/Coercion_traits.h index 2e97218dbe6..7d384fe9c08 100644 --- a/Algebraic_foundations/include/CGAL/Coercion_traits.h +++ b/Algebraic_foundations/include/CGAL/Coercion_traits.h @@ -23,9 +23,9 @@ #define CGAL_COERCION_TRAITS_H 1 #include +#include #include -#include #include @@ -35,7 +35,7 @@ #define CGAL_IMPLICIT_INTEROPERABLE_BINARY_OPERATOR_WITH_RT( NT, Result_type ) \ template < class CT_Type_1, class CT_Type_2 > \ Result_type operator()( const CT_Type_1& x, const CT_Type_2& y ) const { \ - CGAL_static_assertion((::boost::is_same< \ + CGAL_static_assertion((::std::is_same< \ typename Coercion_traits< CT_Type_1, CT_Type_2 >::Type, NT \ >::value)); \ \ diff --git a/Algebraic_foundations/include/CGAL/Rational_traits.h b/Algebraic_foundations/include/CGAL/Rational_traits.h index 1db2180f844..a2ac5f1016c 100644 --- a/Algebraic_foundations/include/CGAL/Rational_traits.h +++ b/Algebraic_foundations/include/CGAL/Rational_traits.h @@ -21,7 +21,8 @@ #include #include #include -#include + +#include namespace CGAL { @@ -79,11 +80,11 @@ public: { return make_rational(x.first, x.second); } template - Rational make_rational(const N& n, const D& d,typename boost::enable_if_c::value&&is_implicit_convertible::value,int>::type=0) const + Rational make_rational(const N& n, const D& d,std::enable_if_t::value&&is_implicit_convertible::value,int> = 0) const { return Compose()(n,d); } template - Rational make_rational(const N& n, const D& d,typename boost::enable_if_c::value||!is_implicit_convertible::value,int>::type=0) const + Rational make_rational(const N& n, const D& d,std::enable_if_t::value||!is_implicit_convertible::value,int> = 0) const { return n/d; } // Assume that n or d is already a fraction }; }// namespace internal @@ -92,9 +93,9 @@ public: template class Rational_traits : public internal::Rational_traits_base::Is_fraction,Tag_true>::value +::std::is_same::Is_fraction,Tag_true>::value && -::boost::is_same< +::std::is_same< typename Fraction_traits::Numerator_type, typename Fraction_traits::Denominator_type >::value > diff --git a/Algebraic_foundations/include/CGAL/Scalar_factor_traits.h b/Algebraic_foundations/include/CGAL/Scalar_factor_traits.h index 5078831c3ba..db6b3df845d 100644 --- a/Algebraic_foundations/include/CGAL/Scalar_factor_traits.h +++ b/Algebraic_foundations/include/CGAL/Scalar_factor_traits.h @@ -85,13 +85,13 @@ public: // determine extractable scalar factor Scalar operator () (const NT& a) { - CGAL_static_assertion(( ::boost::is_same< NT,Scalar >::value)); + CGAL_static_assertion(( ::std::is_same< NT,Scalar >::value)); typedef typename Algebraic_structure_traits::Algebraic_category SAT; return scalar_factor(a, SAT()); } // determine extractable scalar factor Scalar operator () (const NT& a, const Scalar& d) { - CGAL_static_assertion(( ::boost::is_same< NT,Scalar >::value)); + CGAL_static_assertion(( ::std::is_same< NT,Scalar >::value)); typedef typename Algebraic_structure_traits::Algebraic_category SAT; return scalar_factor(a,d,SAT()); } diff --git a/Algebraic_foundations/include/CGAL/Test/_test_algebraic_structure.h b/Algebraic_foundations/include/CGAL/Test/_test_algebraic_structure.h index 5abb39fff25..5a5e23c7d8f 100644 --- a/Algebraic_foundations/include/CGAL/Test/_test_algebraic_structure.h +++ b/Algebraic_foundations/include/CGAL/Test/_test_algebraic_structure.h @@ -44,7 +44,7 @@ template void check_result_type(AdaptableFunctor, ResultType){ typedef typename AdaptableFunctor::result_type result_type; - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); CGAL_USE_TYPE(result_type); } // check nothing for CGAL::Null_functor @@ -123,11 +123,11 @@ void test_algebraic_structure_intern( const CGAL::Integral_domain_tag& ) { using CGAL::Null_functor; CGAL_static_assertion( - (!::boost::is_same< Integral_division, Null_functor >::value)); - CGAL_static_assertion((!::boost::is_same< Divides, Null_functor >::value)); - CGAL_static_assertion((!::boost::is_same< Is_zero, Null_functor >::value)); - CGAL_static_assertion((!::boost::is_same< Is_one, Null_functor >::value)); - CGAL_static_assertion((!::boost::is_same< Square, Null_functor >::value)); + (!::std::is_same< Integral_division, Null_functor >::value)); + CGAL_static_assertion((!::std::is_same< Divides, Null_functor >::value)); + CGAL_static_assertion((!::std::is_same< Is_zero, Null_functor >::value)); + CGAL_static_assertion((!::std::is_same< Is_one, Null_functor >::value)); + CGAL_static_assertion((!::std::is_same< Square, Null_functor >::value)); // functor const Is_zero is_zero = Is_zero(); @@ -206,7 +206,7 @@ void test_algebraic_structure_intern( CGAL_SNAP_AST_FUNCTORS(AST); using CGAL::Null_functor; - CGAL_static_assertion((!::boost::is_same< Gcd, Null_functor>::value)); + CGAL_static_assertion((!::std::is_same< Gcd, Null_functor>::value)); const Gcd gcd = Gcd(); assert( gcd( AS ( 0), AS ( 0)) == unit_normal( AS (0) ) ); @@ -268,9 +268,9 @@ void test_algebraic_structure_intern( const CGAL::Euclidean_ring_tag&) { CGAL_SNAP_AST_FUNCTORS(AST); using CGAL::Null_functor; - CGAL_static_assertion((!::boost::is_same< Div, Null_functor>::value)); - CGAL_static_assertion((!::boost::is_same< Mod, Null_functor>::value)); - CGAL_static_assertion((!::boost::is_same< Div_mod, Null_functor>::value)); + CGAL_static_assertion((!::std::is_same< Div, Null_functor>::value)); + CGAL_static_assertion((!::std::is_same< Mod, Null_functor>::value)); + CGAL_static_assertion((!::std::is_same< Div_mod, Null_functor>::value)); const Div div=Div(); const Mod mod=Mod(); @@ -387,7 +387,7 @@ void test_algebraic_structure_intern( const CGAL::Field_with_sqrt_tag& ) { CGAL_SNAP_AST_FUNCTORS(AST); - CGAL_static_assertion((!::boost::is_same< Sqrt, Null_functor>::value)); + CGAL_static_assertion((!::std::is_same< Sqrt, Null_functor>::value)); const Sqrt sqrt =Sqrt(); AS a(4); @@ -614,10 +614,10 @@ class Test_is_square { CGAL_USE_TYPE(Second_argument_type); CGAL_static_assertion( - ( ::boost::is_same< AS , First_argument_type>::value)); + ( ::std::is_same< AS , First_argument_type>::value)); CGAL_static_assertion( - ( ::boost::is_same< AS& , Second_argument_type>::value)); - //CGAL_static_assertion(( ::boost::is_same< bool , Result_type>::value)); + ( ::std::is_same< AS& , Second_argument_type>::value)); + //CGAL_static_assertion(( ::std::is_same< bool , Result_type>::value)); bool b = Result_type(true); CGAL_USE(b); AS test_number = AS(3)*AS(3); @@ -649,8 +649,8 @@ public: typedef typename Sqrt::result_type Result_type; CGAL_USE_TYPE(Argument_type); CGAL_USE_TYPE(Result_type); - CGAL_static_assertion(( ::boost::is_same< AS , Argument_type>::value)); - CGAL_static_assertion(( ::boost::is_same< AS , Result_type>::value)); + CGAL_static_assertion(( ::std::is_same< AS , Argument_type>::value)); + CGAL_static_assertion(( ::std::is_same< AS , Result_type>::value)); typedef Algebraic_structure_traits AST; typedef typename AST::Is_exact Is_exact; assert( !Is_exact::value || AS (3) == sqrt( AS (9))); @@ -676,11 +676,11 @@ public: CGAL_USE_TYPE(Second_argument_type); CGAL_USE_TYPE(Result_type); CGAL_static_assertion( - ( ::boost::is_same::value)); + ( ::std::is_same::value)); CGAL_static_assertion( - ( ::boost::is_same< AS , Second_argument_type>::value)); + ( ::std::is_same< AS , Second_argument_type>::value)); CGAL_static_assertion( - ( ::boost::is_same< AS , Result_type>::value)); + ( ::std::is_same< AS , Result_type>::value)); AS epsilon(1); assert( test_equality_epsilon( AS (2), root( 4, AS (16) ), epsilon ) ); @@ -803,7 +803,7 @@ void test_algebraic_structure(){ typedef CGAL::Algebraic_structure_traits< AS > AST; CGAL_SNAP_AST_FUNCTORS(AST); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); typedef typename AST::Boolean Boolean; assert(!Boolean()); @@ -817,13 +817,13 @@ void test_algebraic_structure(){ using CGAL::Null_functor; // Test for desired exactness CGAL_static_assertion( - ( ::boost::is_same< typename AST::Is_exact, Is_exact >::value)); + ( ::std::is_same< typename AST::Is_exact, Is_exact >::value)); CGAL_static_assertion(( ::boost::is_convertible< Tag, Integral_domain_without_division_tag >::value )); - CGAL_static_assertion(( ::boost::is_same< Tag, Algebraic_category>::value)); - CGAL_static_assertion((!::boost::is_same< Simplify, Null_functor>::value)); - CGAL_static_assertion((!::boost::is_same< Unit_part, Null_functor>::value)); + CGAL_static_assertion(( ::std::is_same< Tag, Algebraic_category>::value)); + CGAL_static_assertion((!::std::is_same< Simplify, Null_functor>::value)); + CGAL_static_assertion((!::std::is_same< Unit_part, Null_functor>::value)); const Simplify simplify=Simplify();; const Unit_part unit_part= Unit_part(); @@ -944,7 +944,7 @@ void test_algebraic_structure( const AS & a, const AS & b, const AS & c) { typedef CGAL::Algebraic_structure_traits AST; typedef typename AST::Is_numerical_sensitive Is_numerical_sensitive; CGAL_static_assertion( - !(::boost::is_same::value)); + !(::std::is_same::value)); CGAL_USE_TYPE(Is_numerical_sensitive); } diff --git a/Algebraic_foundations/include/CGAL/Test/_test_coercion_traits.h b/Algebraic_foundations/include/CGAL/Test/_test_coercion_traits.h index ea66218eb28..0caa6ced04e 100644 --- a/Algebraic_foundations/include/CGAL/Test/_test_coercion_traits.h +++ b/Algebraic_foundations/include/CGAL/Test/_test_coercion_traits.h @@ -327,8 +327,8 @@ void test_implicit_interoperable_one_way() { typedef typename CT::Are_implicit_interoperable Are_implicit_interoperable; CGAL_static_assertion( - (::boost::is_same::value)); - assert((::boost::is_same::value)); + (::std::is_same::value)); + assert((::std::is_same::value)); typename CGAL::Real_embeddable_traits::Is_real_embeddable is_real_embeddable; test_implicit_interoperable_for_real_embeddable(is_real_embeddable); @@ -346,9 +346,9 @@ void test_explicit_interoperable_one_way(){ typedef typename CT::Cast Cast; typedef typename Cast::result_type result_type; CGAL_USE_TYPE(result_type); - CGAL_static_assertion((::boost::is_same::value)); - CGAL_static_assertion((::boost::is_same< typename CT::Are_explicit_interoperable,CGAL::Tag_true>::value)); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); + CGAL_static_assertion((::std::is_same< typename CT::Are_explicit_interoperable,CGAL::Tag_true>::value)); + CGAL_static_assertion((::std::is_same::value)); typename CT::Cast cast; A a(3); diff --git a/Algebraic_foundations/include/CGAL/Test/_test_fraction_traits.h b/Algebraic_foundations/include/CGAL/Test/_test_fraction_traits.h index 83f023606a0..e1aa91eb29d 100644 --- a/Algebraic_foundations/include/CGAL/Test/_test_fraction_traits.h +++ b/Algebraic_foundations/include/CGAL/Test/_test_fraction_traits.h @@ -37,11 +37,11 @@ void test_fraction_traits(){ typedef typename FT::Compose Compose; CGAL_USE_TYPE(Is_fraction); - CGAL_static_assertion( (::boost::is_same::value)); - CGAL_static_assertion( (::boost::is_same::value)); - CGAL_static_assertion(!(::boost::is_same::value)); - CGAL_static_assertion(!(::boost::is_same::value)); - CGAL_static_assertion(!(::boost::is_same::value)); + CGAL_static_assertion( (::std::is_same::value)); + CGAL_static_assertion( (::std::is_same::value)); + CGAL_static_assertion(!(::std::is_same::value)); + CGAL_static_assertion(!(::std::is_same::value)); + CGAL_static_assertion(!(::std::is_same::value)); // Decompose diff --git a/Algebraic_foundations/include/CGAL/Test/_test_rational_traits.h b/Algebraic_foundations/include/CGAL/Test/_test_rational_traits.h index 0c1b06a9fff..17c1a407ef6 100644 --- a/Algebraic_foundations/include/CGAL/Test/_test_rational_traits.h +++ b/Algebraic_foundations/include/CGAL/Test/_test_rational_traits.h @@ -29,7 +29,7 @@ void test_rational_traits(){ typedef Rational_traits Rational_traits; typedef typename Rational_traits::RT RT; - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); assert( Rational_traits().numerator(x) == RT(7)); assert( Rational_traits().denominator(x) == RT(2)); diff --git a/Algebraic_foundations/include/CGAL/Test/_test_real_embeddable.h b/Algebraic_foundations/include/CGAL/Test/_test_real_embeddable.h index b7d68a0b7ff..f3740e853f6 100644 --- a/Algebraic_foundations/include/CGAL/Test/_test_real_embeddable.h +++ b/Algebraic_foundations/include/CGAL/Test/_test_real_embeddable.h @@ -48,9 +48,9 @@ namespace CGAL { void operator() (const ToDouble& to_double) { typedef typename ToDouble::argument_type Argument_type; typedef typename ToDouble::result_type Result_type; - CGAL_static_assertion(( ::boost::is_same::value)); + CGAL_static_assertion(( ::std::is_same::value)); CGAL_USE_TYPE(Argument_type); - CGAL_static_assertion(( ::boost::is_same::value)); + CGAL_static_assertion(( ::std::is_same::value)); CGAL_USE_TYPE(Result_type); assert(42.0 == to_double(Type(42))); } @@ -71,9 +71,9 @@ namespace CGAL { typedef typename To_interval::argument_type Argument_type; typedef typename To_interval::result_type Result_type; typedef std::pair Interval_type; - CGAL_static_assertion(( ::boost::is_same::value)); + CGAL_static_assertion(( ::std::is_same::value)); CGAL_USE_TYPE(Argument_type); - CGAL_static_assertion(( ::boost::is_same::value)); + CGAL_static_assertion(( ::std::is_same::value)); CGAL_USE_TYPE(Result_type); CGAL_USE_TYPE(Interval_type); // assert(NiX::in(42.0,to_Interval(Type(42)))); @@ -139,7 +139,7 @@ void test_real_embeddable() { CGAL_SNAP_RET_FUNCTORS(RET); typedef typename RET::Is_real_embeddable Is_real_embeddable; using CGAL::Tag_true; - CGAL_static_assertion(( ::boost::is_same< Is_real_embeddable, Tag_true>::value)); + CGAL_static_assertion(( ::std::is_same< Is_real_embeddable, Tag_true>::value)); CGAL_USE_TYPE(Is_real_embeddable); typedef typename RET::Boolean Boolean; @@ -246,7 +246,7 @@ void test_not_real_embeddable() { typedef CGAL::Real_embeddable_traits RET; typedef typename RET::Is_real_embeddable Is_real_embeddable; using CGAL::Tag_false; - CGAL_static_assertion(( ::boost::is_same< Is_real_embeddable, Tag_false>::value)); + CGAL_static_assertion(( ::std::is_same< Is_real_embeddable, Tag_false>::value)); CGAL_USE_TYPE(Is_real_embeddable); } @@ -254,13 +254,13 @@ void test_not_real_embeddable() { //template //void test_rounded_log2_abs(Type zero, CGAL::Null_functor, CeilLog2Abs) { // typedef CGAL::Null_functor Null_functor; -// CGAL_static_assertion(( ::boost::is_same< CeilLog2Abs, Null_functor>::value)); +// CGAL_static_assertion(( ::std::is_same< CeilLog2Abs, Null_functor>::value)); //} // //template //void test_rounded_log2_abs(Type zero, FloorLog2Abs fl_log, CeilLog2Abs cl_log) { // typedef CGAL::Null_functor Null_functor; -// CGAL_static_assertion((!::boost::is_same< CeilLog2Abs, Null_functor>::value)); +// CGAL_static_assertion((!::std::is_same< CeilLog2Abs, Null_functor>::value)); // // assert( fl_log(Type( 7)) == 2 ); // assert( cl_log(Type( 7)) == 3 ); diff --git a/Algebraic_foundations/include/CGAL/number_utils.h b/Algebraic_foundations/include/CGAL/number_utils.h index 5fc8c6e4570..c17823d72b9 100644 --- a/Algebraic_foundations/include/CGAL/number_utils.h +++ b/Algebraic_foundations/include/CGAL/number_utils.h @@ -195,7 +195,7 @@ template< class Number_type > inline // select a Is_zero functor typename boost::mpl::if_c< - ::boost::is_same< typename Algebraic_structure_traits< Number_type >::Is_zero, + ::std::is_same< typename Algebraic_structure_traits< Number_type >::Is_zero, Null_functor >::value , typename Real_embeddable_traits< Number_type >::Is_zero, typename Algebraic_structure_traits< Number_type >::Is_zero @@ -204,7 +204,7 @@ is_zero( const Number_type& x ) { // We take the Algebraic_structure_traits<>::Is_zero functor by default. If it // is not available, we take the Real_embeddable_traits functor typename ::boost::mpl::if_c< - ::boost::is_same< + ::std::is_same< typename Algebraic_structure_traits< Number_type >::Is_zero, Null_functor >::value , typename Real_embeddable_traits< Number_type >::Is_zero, diff --git a/Algebraic_foundations/test/Algebraic_foundations/Algebraic_extension_traits.cpp b/Algebraic_foundations/test/Algebraic_foundations/Algebraic_extension_traits.cpp index 9b7b9324094..87e5235cfe1 100644 --- a/Algebraic_foundations/test/Algebraic_foundations/Algebraic_extension_traits.cpp +++ b/Algebraic_foundations/test/Algebraic_foundations/Algebraic_extension_traits.cpp @@ -9,21 +9,21 @@ int main(){ typedef AET::Type Type; CGAL_USE_TYPE(Type); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); typedef AET::Is_extended Is_extended; CGAL_USE_TYPE(Is_extended); CGAL_static_assertion( - (::boost::is_same::value)); + (::std::is_same::value)); typedef AET::Normalization_factor Normalization_factor; { typedef Normalization_factor::argument_type argument_type; CGAL_USE_TYPE(argument_type); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); typedef Normalization_factor::result_type result_type; CGAL_USE_TYPE(result_type); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); Normalization_factor nfac; assert(nfac(3)==1); } @@ -31,10 +31,10 @@ int main(){ { typedef DFAI::argument_type argument_type; CGAL_USE_TYPE(argument_type); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); typedef DFAI::result_type result_type; CGAL_USE_TYPE(result_type); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); DFAI dfai; assert(dfai(3)==1); } @@ -45,21 +45,21 @@ int main(){ typedef AET::Type Type; CGAL_USE_TYPE(Type); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); typedef AET::Is_extended Is_extended; CGAL_USE_TYPE(Is_extended); CGAL_static_assertion( - (::boost::is_same::value)); + (::std::is_same::value)); typedef AET::Normalization_factor Normalization_factor; { typedef Normalization_factor::argument_type argument_type; CGAL_USE_TYPE(argument_type); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); typedef Normalization_factor::result_type result_type; CGAL_USE_TYPE(result_type); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); Normalization_factor nfac; assert(nfac(EXT(3))==1); assert(nfac(EXT(3,0,5))==1); @@ -69,10 +69,10 @@ int main(){ { typedef DFAI::argument_type argument_type; CGAL_USE_TYPE(argument_type); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); typedef DFAI::result_type result_type; CGAL_USE_TYPE(result_type); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); DFAI dfai; assert(dfai(EXT(3))==1); assert(dfai(EXT(3,0,5))==1); diff --git a/Algebraic_foundations/test/Algebraic_foundations/Algebraic_structure_traits.cpp b/Algebraic_foundations/test/Algebraic_foundations/Algebraic_structure_traits.cpp index a16b9f2ee00..bc1e4b85bb0 100644 --- a/Algebraic_foundations/test/Algebraic_foundations/Algebraic_structure_traits.cpp +++ b/Algebraic_foundations/test/Algebraic_foundations/Algebraic_structure_traits.cpp @@ -8,7 +8,7 @@ typedef AST::NAME NAME; \ CGAL_USE_TYPE(NAME); \ CGAL_static_assertion( \ - (::boost::is_same::value)); \ + (::std::is_same::value)); \ } int main(){ @@ -16,19 +16,19 @@ int main(){ typedef AST::Type Type; CGAL_USE_TYPE(Type); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); typedef AST::Algebraic_category Algebraic_category; CGAL_USE_TYPE(Algebraic_category); CGAL_static_assertion( - (::boost::is_same::value)); + (::std::is_same::value)); typedef AST::Is_exact Is_exact; CGAL_USE_TYPE(Is_exact); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); typedef AST::Is_numerical_sensitive Is_sensitive; CGAL_USE_TYPE(Is_sensitive); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); CGAL_IS_AST_NULL_FUNCTOR ( Simplify); CGAL_IS_AST_NULL_FUNCTOR ( Unit_part); diff --git a/Algebraic_foundations/test/Algebraic_foundations/Coercion_traits.cpp b/Algebraic_foundations/test/Algebraic_foundations/Coercion_traits.cpp index 2ccdb398cb1..7deecf693cc 100644 --- a/Algebraic_foundations/test/Algebraic_foundations/Coercion_traits.cpp +++ b/Algebraic_foundations/test/Algebraic_foundations/Coercion_traits.cpp @@ -6,22 +6,22 @@ int main(){ { typedef CGAL::Coercion_traits CT; CGAL_USE_TYPE(CT); - CGAL_static_assertion(( boost::is_same::value)); + CGAL_static_assertion(( std::is_same::value)); CGAL_static_assertion( - ( boost::is_same::value)); + ( std::is_same::value)); CGAL_static_assertion( - ( boost::is_same::value)); + ( std::is_same::value)); assert( 5 == CT::Cast()(5)); } { typedef CGAL::Coercion_traits CT; CGAL_USE_TYPE(CT); -// CGAL_static_assertion(( boost::is_same::value)); +// CGAL_static_assertion(( std::is_same::value)); CGAL_static_assertion( - ( boost::is_same::value)); + ( std::is_same::value)); CGAL_static_assertion( - ( boost::is_same::value)); + ( std::is_same::value)); CGAL_static_assertion( - ( boost::is_same::value)); + ( std::is_same::value)); } } diff --git a/Algebraic_foundations/test/Algebraic_foundations/Real_embeddable_traits.cpp b/Algebraic_foundations/test/Algebraic_foundations/Real_embeddable_traits.cpp index 0620710c2ef..f9288c9eefd 100644 --- a/Algebraic_foundations/test/Algebraic_foundations/Real_embeddable_traits.cpp +++ b/Algebraic_foundations/test/Algebraic_foundations/Real_embeddable_traits.cpp @@ -8,7 +8,7 @@ typedef RET::NAME NAME; \ CGAL_USE_TYPE(NAME); \ CGAL_static_assertion( \ - (::boost::is_same::value)); \ + (::std::is_same::value)); \ } int main(){ @@ -16,11 +16,11 @@ int main(){ typedef RET::Type Type; CGAL_USE_TYPE(Type); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); typedef RET::Is_real_embeddable Is_real_embeddable; CGAL_USE_TYPE(Is_real_embeddable); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); CGAL_IS_RET_NULL_FUNCTOR(Abs); CGAL_IS_RET_NULL_FUNCTOR(Sgn); diff --git a/Algebraic_foundations/test/Algebraic_foundations/Scalar_factor_traits.cpp b/Algebraic_foundations/test/Algebraic_foundations/Scalar_factor_traits.cpp index 77b35fa66f0..b2b6ffd0bf3 100644 --- a/Algebraic_foundations/test/Algebraic_foundations/Scalar_factor_traits.cpp +++ b/Algebraic_foundations/test/Algebraic_foundations/Scalar_factor_traits.cpp @@ -7,33 +7,33 @@ int main(){ typedef CGAL::Scalar_factor_traits SFT; CGAL_USE_TYPE(SFT); - CGAL_static_assertion((::boost::is_same::value)); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); typedef SFT::Scalar_factor Scalar_factor; { typedef Scalar_factor::result_type result_type; CGAL_USE_TYPE(result_type); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); typedef Scalar_factor::argument_type argument_type; CGAL_USE_TYPE(argument_type); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); } typedef SFT::Scalar_div Scalar_div; { typedef Scalar_div::result_type result_type; CGAL_USE_TYPE(result_type); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); typedef Scalar_div::first_argument_type first_argument_type; CGAL_USE_TYPE(first_argument_type); CGAL_static_assertion( - (::boost::is_same::value)); + (::std::is_same::value)); typedef Scalar_div::second_argument_type second_argument_type; CGAL_USE_TYPE(second_argument_type); CGAL_static_assertion( - (::boost::is_same::value)); + (::std::is_same::value)); } int i; diff --git a/Algebraic_kernel_d/include/CGAL/Algebraic_kernel_d/Algebraic_curve_kernel_2.h b/Algebraic_kernel_d/include/CGAL/Algebraic_kernel_d/Algebraic_curve_kernel_2.h index b02303fa6af..dd142ad6791 100644 --- a/Algebraic_kernel_d/include/CGAL/Algebraic_kernel_d/Algebraic_curve_kernel_2.h +++ b/Algebraic_kernel_d/include/CGAL/Algebraic_kernel_d/Algebraic_curve_kernel_2.h @@ -24,9 +24,9 @@ #define CGAL_ALGEBRAIC_CURVE_KERNEL_D_2_H #include +#include #include #include -#include #include #include @@ -481,16 +481,16 @@ public: Curve_analysis_2 _construct_defining_polynomial_from(Bound b) const { typedef CGAL::Fraction_traits FT; // We rely on the fact that the Bound is a fraction - CGAL_static_assertion((::boost::is_same::value)); typedef typename FT::Numerator_type Numerator; typedef typename FT::Denominator_type Denominator; typedef CGAL::Coercion_traits Num_coercion; - CGAL_static_assertion((::boost::is_same + CGAL_static_assertion((::std::is_same ::value)); typedef CGAL::Coercion_traits Denom_coercion; - CGAL_static_assertion((::boost::is_same + CGAL_static_assertion((::std::is_same ::value)); typename Num_coercion::Cast num_cast; @@ -2541,16 +2541,16 @@ public: Polynomial_1 operator() (const Polynomial_2& f, Bound b) const { typedef CGAL::Fraction_traits FT; // We rely on the fact that the Bound is a fraction - CGAL_static_assertion((::boost::is_same::value)); typedef typename FT::Numerator_type Numerator; typedef typename FT::Denominator_type Denominator; typedef CGAL::Coercion_traits Num_coercion; - CGAL_static_assertion((::boost::is_same + CGAL_static_assertion((::std::is_same ::value)); typedef CGAL::Coercion_traits Denom_coercion; - CGAL_static_assertion((::boost::is_same + CGAL_static_assertion((::std::is_same ::value)); typename Num_coercion::Cast num_cast; diff --git a/Algebraic_kernel_d/include/CGAL/Algebraic_kernel_d/Algebraic_real_d_1.h b/Algebraic_kernel_d/include/CGAL/Algebraic_kernel_d/Algebraic_real_d_1.h index 7d2ed6298e2..54fcec0b3f5 100644 --- a/Algebraic_kernel_d/include/CGAL/Algebraic_kernel_d/Algebraic_real_d_1.h +++ b/Algebraic_kernel_d/include/CGAL/Algebraic_kernel_d/Algebraic_real_d_1.h @@ -72,7 +72,7 @@ class Algebraic_real_d_1 : // currently Rational is the only supported Bound type. CGAL_static_assertion( - ( ::boost::is_same ::Arithmetic_kernel::Rational>::value)); @@ -579,7 +579,7 @@ struct Coercion_traits< typedef Type result_type; Type operator()(const Type& a) const { return a; } Type operator()(const Coefficient& a) const { - static const bool b = boost::is_same::value; + static const bool b = std::is_same::value; return (*this)(a,Boolean_tag()); } }; diff --git a/Algebraic_kernel_d/include/CGAL/Algebraic_kernel_d/Curve_analysis_2.h b/Algebraic_kernel_d/include/CGAL/Algebraic_kernel_d/Curve_analysis_2.h index 339fe371068..0a4db6d8b3b 100644 --- a/Algebraic_kernel_d/include/CGAL/Algebraic_kernel_d/Curve_analysis_2.h +++ b/Algebraic_kernel_d/include/CGAL/Algebraic_kernel_d/Curve_analysis_2.h @@ -20,13 +20,12 @@ #include #include #include +#include #include #include #include #include -#include - #include #include diff --git a/Algebraic_kernel_d/include/CGAL/Algebraic_kernel_d/algebraic_curve_kernel_2_tools.h b/Algebraic_kernel_d/include/CGAL/Algebraic_kernel_d/algebraic_curve_kernel_2_tools.h index b1fa29353b4..e4558076367 100644 --- a/Algebraic_kernel_d/include/CGAL/Algebraic_kernel_d/algebraic_curve_kernel_2_tools.h +++ b/Algebraic_kernel_d/include/CGAL/Algebraic_kernel_d/algebraic_curve_kernel_2_tools.h @@ -187,7 +187,7 @@ template::value_type >::value)); @@ -224,12 +224,12 @@ template void cast_back_utcf(const Poly_coer_1& p,Polynomial_1& q) { // We can assume that both template arguments are polynomial types typedef CGAL::Fraction_traits FT; - CGAL_static_assertion((::boost::is_same::value)); typedef typename FT::Numerator_type Numerator; typedef typename FT::Denominator_type Denominator; typedef CGAL::Coercion_traits Num_coercion; - CGAL_static_assertion((::boost::is_same + CGAL_static_assertion((::std::is_same ::value)); Numerator p_num; diff --git a/Algebraic_kernel_d/include/CGAL/RS/rs2_calls.h b/Algebraic_kernel_d/include/CGAL/RS/rs2_calls.h index 29c79913b2d..687a6714d74 100644 --- a/Algebraic_kernel_d/include/CGAL/RS/rs2_calls.h +++ b/Algebraic_kernel_d/include/CGAL/RS/rs2_calls.h @@ -29,8 +29,7 @@ // the version of MPFR is one of those buggy versions, abort the compilation // and instruct the user to update MPFR or don't use RS3. #ifdef CGAL_USE_RS3 -#include -BOOST_STATIC_ASSERT_MSG( +static_assert( MPFR_VERSION_MAJOR!=3 || MPFR_VERSION_MINOR!=1 || MPFR_VERSION_PATCHLEVEL<3 || MPFR_VERSION_PATCHLEVEL>6, diff --git a/Algebraic_kernel_d/include/CGAL/RS/signat_1.h b/Algebraic_kernel_d/include/CGAL/RS/signat_1.h index 46ce5807af8..3a6bda3c046 100644 --- a/Algebraic_kernel_d/include/CGAL/RS/signat_1.h +++ b/Algebraic_kernel_d/include/CGAL/RS/signat_1.h @@ -14,7 +14,6 @@ #include #include #include "exact_signat_1.h" -//#include #include namespace CGAL{ @@ -40,7 +39,7 @@ Signat_1::operator()(const Bound_ &x)const{ //typedef Algebraic_structure_traits AStraits; // This generic signat works only when Bound_ is an exact type. For // non-exact types, an implementation must be provided. - //BOOST_MPL_ASSERT((boost::is_same)); + //static_assert(std::is_same::value); int d=Degree()(pol); Bound h(pol[d]); for(int i=1;i<=d;++i) diff --git a/Algebraic_kernel_d/test/Algebraic_kernel_d/Real_embeddable_traits_extension.cpp b/Algebraic_kernel_d/test/Algebraic_kernel_d/Real_embeddable_traits_extension.cpp index 14da0a7d79c..2e06d3b6aec 100644 --- a/Algebraic_kernel_d/test/Algebraic_kernel_d/Real_embeddable_traits_extension.cpp +++ b/Algebraic_kernel_d/test/Algebraic_kernel_d/Real_embeddable_traits_extension.cpp @@ -47,8 +47,8 @@ void test_real_embeddable_extension(const NT_&){ typedef typename Floor::result_type Result_type; CGAL_USE_TYPE(Argument_type); CGAL_USE_TYPE(Result_type); - CGAL_static_assertion(( ::boost::is_same::value)); - CGAL_static_assertion(( ::boost::is_same::value)); + CGAL_static_assertion(( ::std::is_same::value)); + CGAL_static_assertion(( ::std::is_same::value)); assert(Integer(42) == floor(NT(42))); assert(Integer(-42) == floor(NT(-42))); } @@ -59,8 +59,8 @@ void test_real_embeddable_extension(const NT_&){ typedef typename Floor_log2_abs::result_type Result_type; CGAL_USE_TYPE(Argument_type); CGAL_USE_TYPE(Result_type); - CGAL_static_assertion(( ::boost::is_same::value)); - CGAL_static_assertion(( ::boost::is_same::value)); + CGAL_static_assertion(( ::std::is_same::value)); + CGAL_static_assertion(( ::std::is_same::value)); assert(long(0) == floor_log2_abs(NT(1))); assert(long(0) == floor_log2_abs(NT(-1))); @@ -86,8 +86,8 @@ void test_real_embeddable_extension(const NT_&){ typedef typename Ceil::result_type Result_type; CGAL_USE_TYPE(Argument_type); CGAL_USE_TYPE(Result_type); - CGAL_static_assertion(( ::boost::is_same::value)); - CGAL_static_assertion(( ::boost::is_same::value)); + CGAL_static_assertion(( ::std::is_same::value)); + CGAL_static_assertion(( ::std::is_same::value)); assert(Integer(42) == ceil(NT(42))); assert(Integer(-42) == ceil(NT(-42))); } @@ -98,8 +98,8 @@ void test_real_embeddable_extension(const NT_&){ typedef typename Ceil_log2_abs::result_type Result_type; CGAL_USE_TYPE(Argument_type); CGAL_USE_TYPE(Result_type); - CGAL_static_assertion(( ::boost::is_same::value)); - CGAL_static_assertion(( ::boost::is_same::value)); + CGAL_static_assertion(( ::std::is_same::value)); + CGAL_static_assertion(( ::std::is_same::value)); assert(long(0) == ceil_log2_abs(NT(1))); assert(long(0) == ceil_log2_abs(NT(-1))); diff --git a/Algebraic_kernel_d/test/Algebraic_kernel_d/include/CGAL/_test_algebraic_curve_kernel_2.h b/Algebraic_kernel_d/test/Algebraic_kernel_d/include/CGAL/_test_algebraic_curve_kernel_2.h index dca16083212..01a27244d74 100644 --- a/Algebraic_kernel_d/test/Algebraic_kernel_d/include/CGAL/_test_algebraic_curve_kernel_2.h +++ b/Algebraic_kernel_d/test/Algebraic_kernel_d/include/CGAL/_test_algebraic_curve_kernel_2.h @@ -62,18 +62,18 @@ void test_algebraic_curve_kernel_2() { typedef AlgebraicCurveKernel_2 AK_2; - /* CGAL_static_assertion( (::boost::is_same< + /* CGAL_static_assertion( (::std::is_same< Algebraic_real_1, typename AK::Algebraic_real_1 >::value) ); - CGAL_static_assertion((::boost::is_same< + CGAL_static_assertion((::std::is_same< Isolator, typename AK::Isolator >::value) ); - CGAL_static_assertion((::boost::is_same< + CGAL_static_assertion((::std::is_same< Coefficient, typename AK::Coefficient >::value)); - CGAL_static_assertion((::boost::is_same< + CGAL_static_assertion((::std::is_same< Polynomial_1, typename AK::Polynomial_1 >::value));*/ diff --git a/Algebraic_kernel_d/test/Algebraic_kernel_d/include/CGAL/_test_algebraic_kernel_1.h b/Algebraic_kernel_d/test/Algebraic_kernel_d/include/CGAL/_test_algebraic_kernel_1.h index c12be717c2d..20ecd337223 100644 --- a/Algebraic_kernel_d/test/Algebraic_kernel_d/include/CGAL/_test_algebraic_kernel_1.h +++ b/Algebraic_kernel_d/test/Algebraic_kernel_d/include/CGAL/_test_algebraic_kernel_1.h @@ -109,8 +109,8 @@ void test_algebraic_kernel_1(const AlgebraicKernel_d_1& ak_1){ typedef typename Name::result_type RT_; \ CGAL_USE_TYPE(AT_); \ CGAL_USE_TYPE(RT_); \ - {CGAL_static_assertion(( ::boost::is_same::value));} \ - {CGAL_static_assertion(( ::boost::is_same::value));} \ + {CGAL_static_assertion(( ::std::is_same::value));} \ + {CGAL_static_assertion(( ::std::is_same::value));} \ } #define CGAL_CHECK_BFUNCTION(Name,AT1,AT2,RT) \ { \ @@ -120,9 +120,9 @@ void test_algebraic_kernel_1(const AlgebraicKernel_d_1& ak_1){ CGAL_USE_TYPE(AT1_); \ CGAL_USE_TYPE(AT2_); \ CGAL_USE_TYPE(RT_); \ - {CGAL_static_assertion(( ::boost::is_same::value));} \ - {CGAL_static_assertion(( ::boost::is_same::value));} \ - {CGAL_static_assertion(( ::boost::is_same::value));} \ + {CGAL_static_assertion(( ::std::is_same::value));} \ + {CGAL_static_assertion(( ::std::is_same::value));} \ + {CGAL_static_assertion(( ::std::is_same::value));} \ } // TODO: missing check for Construct_algebraic_real_1 diff --git a/Algebraic_kernel_d/test/Algebraic_kernel_d/include/CGAL/_test_algebraic_kernel_2.h b/Algebraic_kernel_d/test/Algebraic_kernel_d/include/CGAL/_test_algebraic_kernel_2.h index 335fd1ddb09..ff04c8f8c9d 100644 --- a/Algebraic_kernel_d/test/Algebraic_kernel_d/include/CGAL/_test_algebraic_kernel_2.h +++ b/Algebraic_kernel_d/test/Algebraic_kernel_d/include/CGAL/_test_algebraic_kernel_2.h @@ -93,8 +93,8 @@ void test_algebraic_kernel_2(const AlgebraicKernel_2& ak_2) { typedef typename Name::result_type RT_; \ CGAL_USE_TYPE(AT_); \ CGAL_USE_TYPE(RT_); \ - {CGAL_static_assertion(( ::boost::is_same::value));} \ - {CGAL_static_assertion(( ::boost::is_same::value));} \ + {CGAL_static_assertion(( ::std::is_same::value));} \ + {CGAL_static_assertion(( ::std::is_same::value));} \ } #define CGAL_CHECK_BFUNCTION(Name,AT1,AT2,RT) \ { \ @@ -104,13 +104,13 @@ void test_algebraic_kernel_2(const AlgebraicKernel_2& ak_2) { CGAL_USE_TYPE(AT1_); \ CGAL_USE_TYPE(AT2_); \ CGAL_USE_TYPE(RT_); \ - {CGAL_static_assertion(( ::boost::is_same::value));} \ - {CGAL_static_assertion(( ::boost::is_same::value));} \ - {CGAL_static_assertion(( ::boost::is_same::value));} \ + {CGAL_static_assertion(( ::std::is_same::value));} \ + {CGAL_static_assertion(( ::std::is_same::value));} \ + {CGAL_static_assertion(( ::std::is_same::value));} \ } - CGAL_static_assertion(( ::boost::is_same + CGAL_static_assertion(( ::std::is_same ::value)); @@ -118,7 +118,7 @@ void test_algebraic_kernel_2(const AlgebraicKernel_2& ak_2) { CGAL_CHECK_UFUNCTION(Make_square_free_2,Polynomial_2,Polynomial_2); // TODO: missing check for Square_free_factorize_2 CGAL_CHECK_BFUNCTION(Is_coprime_2,Polynomial_2,Polynomial_2,bool); - CGAL_static_assertion(( ::boost::is_same + CGAL_static_assertion(( ::std::is_same ::value)); CGAL_CHECK_BFUNCTION(Number_of_solutions_2,Polynomial_2,Polynomial_2, size_type); @@ -128,7 +128,7 @@ void test_algebraic_kernel_2(const AlgebraicKernel_2& ak_2) { CGAL_CHECK_UFUNCTION(Compute_polynomial_y_2,Algebraic_real_2,Polynomial_1); CGAL_CHECK_BFUNCTION(Isolate_x_2,Algebraic_real_2,Polynomial_1,BInterval); CGAL_CHECK_BFUNCTION(Isolate_y_2,Algebraic_real_2,Polynomial_1,BInterval); - CGAL_static_assertion(( ::boost::is_same + CGAL_static_assertion(( ::std::is_same < BArray,typename Isolate_2::result_type>::value)); CGAL_CHECK_BFUNCTION(Sign_at_2,Polynomial_2,Algebraic_real_2,Sign); CGAL_CHECK_BFUNCTION(Is_zero_at_2,Polynomial_2,Algebraic_real_2,bool); diff --git a/Algebraic_kernel_d/test/Algebraic_kernel_d/include/CGAL/_test_real_comparable.h b/Algebraic_kernel_d/test/Algebraic_kernel_d/include/CGAL/_test_real_comparable.h index 51ee9b90e00..a393abe3653 100644 --- a/Algebraic_kernel_d/test/Algebraic_kernel_d/include/CGAL/_test_real_comparable.h +++ b/Algebraic_kernel_d/test/Algebraic_kernel_d/include/CGAL/_test_real_comparable.h @@ -39,8 +39,8 @@ namespace internal { void operator() (ToDouble to_double) { typedef typename ToDouble::argument_type Argument_type; typedef typename ToDouble::result_type Result_type; - CGAL_static_assertion((::boost::is_same::value)); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); assert(42.0 == to_double(NT(42))); } }; @@ -59,8 +59,8 @@ namespace internal { void operator() (ToInterval to_Interval) { typedef typename ToInterval::argument_type Argument_type; typedef typename ToInterval::result_type Result_type; - CGAL_static_assertion((::boost::is_same::value)); - CGAL_static_assertion((::boost::is_same< typename Argument_type::Interval, Result_type>::value)); + CGAL_static_assertion((::std::is_same::value)); + CGAL_static_assertion((::std::is_same< typename Argument_type::Interval, Result_type>::value)); // TODO: NiX::in not available!? //assert(NiX::in(42.0,to_Interval(NT(42)))); @@ -99,7 +99,7 @@ void test_real_comparable() { typedef CGAL::Real_embeddable_traits Traits; typedef typename Traits::Is_real_embeddable Is_real_comparable; using ::CGAL::Tag_true; - CGAL_static_assertion((::boost::is_same< Is_real_comparable, Tag_true>::value)); + CGAL_static_assertion((::std::is_same< Is_real_comparable, Tag_true>::value)); typename Traits::Compare compare; typename Traits::Sign sign; typename Traits::Abs abs; @@ -168,20 +168,20 @@ void test_not_real_comparable() { typedef CGAL::Real_embeddable_traits Traits; typedef typename Traits::Is_real_embeddable Is_real_comparable; using ::CGAL::Tag_false; - CGAL_static_assertion((::boost::is_same< Is_real_comparable, Tag_false>::value)); + CGAL_static_assertion((::std::is_same< Is_real_comparable, Tag_false>::value)); } template void test_rounded_log2_abs(NT zero, ::CGAL::Null_functor, CeilLog2Abs) { typedef ::CGAL::Null_functor Nulltype; - CGAL_static_assertion((::boost::is_same< CeilLog2Abs, Nulltype>::value)); + CGAL_static_assertion((::std::is_same< CeilLog2Abs, Nulltype>::value)); } template void test_rounded_log2_abs(NT zero, FloorLog2Abs fl_log, CeilLog2Abs cl_log) { typedef ::CGAL::Null_functor Null_functor; - CGAL_static_assertion((!::boost::is_same< CeilLog2Abs, Null_functor>::value)); + CGAL_static_assertion((!::std::is_same< CeilLog2Abs, Null_functor>::value)); assert( fl_log(NT( 7)) == 2 ); assert( cl_log(NT( 7)) == 3 ); diff --git a/Algebraic_kernel_for_circles/include/CGAL/Root_for_circles_2_2.h b/Algebraic_kernel_for_circles/include/CGAL/Root_for_circles_2_2.h index bb2b92d350d..bd26c95af66 100644 --- a/Algebraic_kernel_for_circles/include/CGAL/Root_for_circles_2_2.h +++ b/Algebraic_kernel_for_circles/include/CGAL/Root_for_circles_2_2.h @@ -22,10 +22,10 @@ #include +#include #include #include #include -#include namespace CGAL { diff --git a/Alpha_shapes_2/include/CGAL/Alpha_shape_2.h b/Alpha_shapes_2/include/CGAL/Alpha_shape_2.h index 0a77a282a21..d54f28b21a3 100644 --- a/Alpha_shapes_2/include/CGAL/Alpha_shape_2.h +++ b/Alpha_shapes_2/include/CGAL/Alpha_shape_2.h @@ -63,8 +63,8 @@ public: // value while the lazy predicate evaluations that are used when the Exact tag // is set to true rely on a permanent and safe access to the points. CGAL_static_assertion( - (boost::is_same::value) || - (boost::is_same::value)); + (std::is_same::value) || + (std::is_same::value)); typedef typename internal::Alpha_nt_selector_2< Gt, ExactAlphaComparisonTag, typename Dt::Weighted_tag>::Type_of_alpha Type_of_alpha; @@ -77,8 +77,8 @@ public: typedef Type_of_alpha FT; // check that simplices are correctly instantiated - CGAL_static_assertion( (boost::is_same::value) ); - CGAL_static_assertion( (boost::is_same::value) ); + CGAL_static_assertion( (std::is_same::value) ); + CGAL_static_assertion( (std::is_same::value) ); typedef typename Dt::Point Point; diff --git a/Alpha_shapes_3/include/CGAL/Alpha_shape_3.h b/Alpha_shapes_3/include/CGAL/Alpha_shape_3.h index 0df8cc2cd53..bbce2b51e1c 100644 --- a/Alpha_shapes_3/include/CGAL/Alpha_shape_3.h +++ b/Alpha_shapes_3/include/CGAL/Alpha_shape_3.h @@ -26,8 +26,6 @@ #include #include -#include - #include #include #include @@ -35,6 +33,7 @@ #include #include #include +#include //------------------------------------------------------------------- namespace CGAL { @@ -99,8 +98,8 @@ public: // value while the lazy predicate evaluations that are used when the Exact tag // is set to true rely on a permanent and safe access to the points. CGAL_static_assertion( - (boost::is_same::value) || - (boost::is_same::value)); + (std::is_same::value) || + (std::is_same::value)); //extra the type used for representing alpha according to ExactAlphaComparisonTag typedef typename internal::Alpha_nt_selector_3::Type_of_alpha NT; @@ -109,8 +108,8 @@ public: typedef typename Gt::FT Coord_type; //checks whether tags are correctly set in Vertex and Cell classes - CGAL_static_assertion( (boost::is_same::value) ); - CGAL_static_assertion( (boost::is_same::value) ); + CGAL_static_assertion( (std::is_same::value) ); + CGAL_static_assertion( (std::is_same::value) ); typedef typename Dt::Point Point; diff --git a/Alpha_wrap_3/include/CGAL/alpha_wrap_3.h b/Alpha_wrap_3/include/CGAL/alpha_wrap_3.h index b22bf878458..13cf90f2df8 100644 --- a/Alpha_wrap_3/include/CGAL/alpha_wrap_3.h +++ b/Alpha_wrap_3/include/CGAL/alpha_wrap_3.h @@ -148,7 +148,7 @@ void alpha_wrap_3(const PointRange& points, OutputMesh& alpha_wrap, const CGAL::Named_function_parameters& in_np, const CGAL::Named_function_parameters& out_np, - typename std::enable_if::value>::type* = nullptr) + std::enable_if_t::value>* = nullptr) { return alpha_wrap_3(points, faces, alpha, alpha / 30., alpha_wrap, in_np, out_np); } @@ -160,7 +160,7 @@ void alpha_wrap_3(const PointRange& points, const double alpha, OutputMesh& alpha_wrap, const CGAL_NP_CLASS& in_np, - typename std::enable_if::value>::type* = nullptr) + std::enable_if_t::value>* = nullptr) { return alpha_wrap_3(points, faces, alpha, alpha / 30., alpha_wrap, in_np, CGAL::parameters::default_values()); @@ -171,7 +171,7 @@ void alpha_wrap_3(const PointRange& points, const FaceRange& faces, const double alpha, OutputMesh& alpha_wrap, - typename std::enable_if::value>::type* = nullptr) + std::enable_if_t::value>* = nullptr) { return alpha_wrap_3(points, faces, alpha, alpha / 30., alpha_wrap, CGAL::parameters::default_values(), CGAL::parameters::default_values()); @@ -245,7 +245,7 @@ void alpha_wrap_3(const TriangleMesh& tmesh, const InputNamedParameters& in_np, const OutputNamedParameters& out_np #ifndef DOXYGEN_RUNNING - , typename std::enable_if::value>::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -338,7 +338,7 @@ void alpha_wrap_3(const PointRange& points, #else const CGAL::Named_function_parameters& in_np, const CGAL::Named_function_parameters& out_np, - typename std::enable_if::value>::type* = nullptr + std::enable_if_t::value>* = nullptr #endif ) { diff --git a/Arithmetic_kernel/test/Arithmetic_kernel/Get_arithmetic_kernel.cpp b/Arithmetic_kernel/test/Arithmetic_kernel/Get_arithmetic_kernel.cpp index 946c05df4e6..f8b373c9764 100644 --- a/Arithmetic_kernel/test/Arithmetic_kernel/Get_arithmetic_kernel.cpp +++ b/Arithmetic_kernel/test/Arithmetic_kernel/Get_arithmetic_kernel.cpp @@ -18,17 +18,17 @@ int main() { { typedef CGAL::Get_arithmetic_kernel::Arithmetic_kernel AK_; CGAL_USE_TYPE(AK_); - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); } { typedef CGAL::Get_arithmetic_kernel::Arithmetic_kernel AK_; CGAL_USE_TYPE(AK_); - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); } { typedef CGAL::Get_arithmetic_kernel::Arithmetic_kernel AK_; CGAL_USE_TYPE(AK_); - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); } return 0; } diff --git a/Arrangement_on_surface_2/demo/Arrangement_on_surface_2/GraphicsViewCurveInput.cpp b/Arrangement_on_surface_2/demo/Arrangement_on_surface_2/GraphicsViewCurveInput.cpp index 45efa1e73af..441cdf5271b 100644 --- a/Arrangement_on_surface_2/demo/Arrangement_on_surface_2/GraphicsViewCurveInput.cpp +++ b/Arrangement_on_surface_2/demo/Arrangement_on_surface_2/GraphicsViewCurveInput.cpp @@ -25,14 +25,14 @@ #include template -inline typename std::enable_if::type +inline std::enable_if_t for_each(std::tuple&, FuncT) { } template - inline typename std::enable_if < - I::type for_each(std::tuple& t, FuncT f) + inline std::enable_if_t < + I for_each(std::tuple& t, FuncT f) { f(std::get(t)); for_each(t, f); diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_batched_point_location.h b/Arrangement_on_surface_2/include/CGAL/Arr_batched_point_location.h index af328f1d6e6..af58c261240 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_batched_point_location.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_batched_point_location.h @@ -120,7 +120,7 @@ locate(const Arrangement_on_surface_2& arr, * Use the form 'A a(*b);' and not ''A a = b;' to handle the case where A has * only an implicit constructor, (which takes *b as a parameter). */ - typename boost::mpl::if_, const Bgt2&, Bgt2>::type + typename boost::mpl::if_, const Bgt2&, Bgt2>::type ex_traits(*geom_traits); // Define the sweep-line visitor and perform the sweep. diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_bounded_planar_topology_traits_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_bounded_planar_topology_traits_2.h index d50b9fc9277..e1582795054 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_bounded_planar_topology_traits_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_bounded_planar_topology_traits_2.h @@ -90,14 +90,10 @@ public: typedef typename Gt_adaptor_2::Top_side_category Top_side_category; typedef typename Gt_adaptor_2::Right_side_category Right_side_category; - BOOST_MPL_ASSERT - ((boost::is_same< Left_side_category, Arr_oblivious_side_tag >)); - BOOST_MPL_ASSERT - ((boost::is_same< Bottom_side_category, Arr_oblivious_side_tag >)); - BOOST_MPL_ASSERT - ((boost::is_same< Top_side_category, Arr_oblivious_side_tag >)); - BOOST_MPL_ASSERT - ((boost::is_same< Right_side_category, Arr_oblivious_side_tag >)); + CGAL_static_assertion((std::is_same< Left_side_category, Arr_oblivious_side_tag >::value)); + CGAL_static_assertion((std::is_same< Bottom_side_category, Arr_oblivious_side_tag >::value)); + CGAL_static_assertion((std::is_same< Top_side_category, Arr_oblivious_side_tag >::value)); + CGAL_static_assertion((std::is_same< Right_side_category, Arr_oblivious_side_tag >::value)); //@} /*! \struct diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_curve_data_traits_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_curve_data_traits_2.h index ca8413d47ad..7f433810fca 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_curve_data_traits_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_curve_data_traits_2.h @@ -24,7 +24,6 @@ #include #include -#include #include #include @@ -32,6 +31,8 @@ #include #include +#include + namespace CGAL { /*! \class @@ -258,8 +259,7 @@ public: * has a nested type named Are_mergeable_2. */ template - typename boost::enable_if_c::value, - bool>::type + std::enable_if_t::value,bool> are_mergeable(const X_monotone_curve_2& cv1, const X_monotone_curve_2& cv2) const { @@ -277,8 +277,7 @@ public: * This function should never be called! */ template - typename boost::enable_if_c::value, - bool>::type + std::enable_if_t::value,bool> are_mergeable(const X_monotone_curve_2& /* cv1 */, const X_monotone_curve_2& /* cv2 */) const { @@ -320,7 +319,7 @@ public: * has a nested type named Merge_2. */ template - typename boost::enable_if_c::value, void>::type + std::enable_if_t::value, void> merge(const X_monotone_curve_2& cv1, const X_monotone_curve_2& cv2, X_monotone_curve_2& c) const { @@ -340,7 +339,7 @@ public: * This function should never be called! */ template - typename boost::enable_if_c::value, void>::type + std::enable_if_t::value, void> merge(const X_monotone_curve_2& /* cv1 */, const X_monotone_curve_2& /* cv2 */, X_monotone_curve_2& /* c */) const @@ -407,8 +406,8 @@ public: * has a nested type named Construct_opposite_2. */ template - typename boost::enable_if_c::value, - X_monotone_curve_2>::type + std::enable_if_t::value, + X_monotone_curve_2> construct_opposite(const X_monotone_curve_2& cv) const { X_monotone_curve_2 new_cv(m_base.construct_opposite_2_object()(cv), @@ -421,8 +420,8 @@ public: * This function should never be called! */ template - typename boost::enable_if_c::value, - X_monotone_curve_2>::type + std::enable_if_t::value, + X_monotone_curve_2> construct_opposite(const X_monotone_curve_2&) const { CGAL_error_msg("Construct opposite curve is not supported!"); diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_geometry_traits/Polycurve_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_geometry_traits/Polycurve_2.h index 943d7137b56..addc072c217 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_geometry_traits/Polycurve_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_geometry_traits/Polycurve_2.h @@ -96,7 +96,7 @@ public: m_subcurves() { typedef typename std::iterator_traits::value_type VT; - typedef typename boost::is_same::type Is_point; + typedef typename std::is_same::type Is_point; construct_polycurve(begin, end, Is_point()); } @@ -108,7 +108,7 @@ public: */ template void construct_polycurve(InputIterator begin, InputIterator end, - boost::false_type) + std::false_type) { m_subcurves.assign(begin, end); } /*! Construct a polycurve from a range of points. @@ -120,7 +120,7 @@ public: template CGAL_DEPRECATED void construct_polycurve(InputIterator begin, InputIterator end, - boost::true_type) + std::true_type) { // Check if there are no points in the range: InputIterator ps = begin; @@ -433,7 +433,7 @@ public: Base(begin, end) { typedef typename std::iterator_traits::value_type VT; - typedef typename boost::is_same::type Is_point; + typedef typename std::is_same::type Is_point; construct_x_monotone_polycurve(begin, end, Is_point()); } @@ -444,7 +444,7 @@ public: */ template void construct_x_monotone_polycurve(InputIterator, InputIterator, - boost::false_type) + std::false_type) {} /*! Construct from a range of points, defining the endpoints of the @@ -453,7 +453,7 @@ public: template CGAL_DEPRECATED void construct_x_monotone_polycurve(InputIterator, InputIterator, - boost::true_type) + std::true_type) {} }; diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_overlay_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_overlay_2.h index 9ca536c4cd9..83358c14b12 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_overlay_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_overlay_2.h @@ -247,7 +247,7 @@ overlay(const Arrangement_on_surface_2& arr1 * Use the form 'A a(*b);' and not ''A a = b;' to handle the case where A has * only an implicit constructor, (which takes *b as a parameter). */ - typename boost::mpl::if_, + typename boost::mpl::if_, const Ovl_gt2&, Ovl_gt2>::type ex_traits(*traits_adaptor); diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_polycurve_basic_traits_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_polycurve_basic_traits_2.h index 5f30bd8e8f1..ca5e8ce1447 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_polycurve_basic_traits_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_polycurve_basic_traits_2.h @@ -25,8 +25,7 @@ */ #include -#include -#include +#include #include #include @@ -1144,14 +1143,14 @@ public: Approximate_2; /*! Obtain an Approximate_2 functor object. */ - Approximate_2 approximate_2_object_impl(boost::false_type) const + Approximate_2 approximate_2_object_impl(std::false_type) const { return subcurve_traits_2()->approximate_2_object(); } - Approximate_2 approximate_2_object_impl(boost::true_type) const { } + Approximate_2 approximate_2_object_impl(std::true_type) const { } Approximate_2 approximate_2_object() const { - typedef typename boost::is_same::type Is_void; + typedef typename std::is_same::type Is_void; return approximate_2_object_impl(Is_void()); } #endif @@ -1215,7 +1214,7 @@ public: ForwardIterator end) const { typedef typename std::iterator_traits::value_type VT; - typedef typename boost::is_same::type Is_point; + typedef typename std::is_same::type Is_point; // Dispatch the range to the appropriate implementation. return constructor_impl(begin, end, Is_point()); @@ -1233,7 +1232,7 @@ public: template X_monotone_curve_2 constructor_impl(ForwardIterator /* begin */, ForwardIterator /* end */, - boost::true_type) const + std::true_type) const { CGAL_error_msg("Cannot construct a polycurve from a range of points!"); } /*! Obtain an x-monotone polycurve from a range of subcurves. @@ -1254,7 +1253,7 @@ public: template X_monotone_curve_2 constructor_impl(ForwardIterator begin, ForwardIterator end, - boost::false_type) const + std::false_type) const { CGAL_precondition_msg ( diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_polycurve_traits_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_polycurve_traits_2.h index 99c80b228df..d0c6fd76aa5 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_polycurve_traits_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_polycurve_traits_2.h @@ -25,10 +25,9 @@ */ #include +#include #include -#include -#include #include #include @@ -1174,7 +1173,7 @@ public: Curve_2 operator()(ForwardIterator begin, ForwardIterator end) const { typedef typename std::iterator_traits::value_type VT; - typedef typename boost::is_same::type Is_point; + typedef typename std::is_same::type Is_point; // Dispatch the range to the appropriate implementation. return constructor_impl(begin, end, Is_point()); } @@ -1191,7 +1190,7 @@ public: template Curve_2 constructor_impl(ForwardIterator /* begin */, ForwardIterator /* end */, - boost::true_type) const + std::true_type) const { CGAL_error_msg("Cannot construct a polycurve from a range of points!"); } /*! Construction implementation from a range of subcurves. @@ -1202,7 +1201,7 @@ public: */ template Curve_2 constructor_impl(ForwardIterator begin, ForwardIterator end, - boost::false_type) const + std::false_type) const { // Range has to contain at least one subcurve CGAL_precondition(begin != end); diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_polyline_traits_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_polyline_traits_2.h index 9477afe821c..f2f7fe7c8e2 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_polyline_traits_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_polyline_traits_2.h @@ -29,8 +29,7 @@ #include #include -#include -#include +#include #include #include @@ -381,7 +380,7 @@ public: Curve_2 operator()(ForwardIterator begin, ForwardIterator end) const { typedef typename std::iterator_traits::value_type VT; - typedef typename boost::is_same::type Is_point; + typedef typename std::is_same::type Is_point; // Dispatch the range to the appropriate implementation. return constructor_impl(begin, end, Is_point()); } @@ -401,7 +400,7 @@ public: */ template Curve_2 constructor_impl(ForwardIterator begin, ForwardIterator end, - boost::false_type) const + std::false_type) const { return Base::Construct_curve_2::operator()(begin, end); } /*! Construction of a polyline from a range of points. @@ -414,7 +413,7 @@ public: */ template Curve_2 constructor_impl(ForwardIterator begin, ForwardIterator end, - boost::true_type) const + std::true_type) const { // The range must not contain a single point. CGAL_precondition_msg(std::distance(begin, end) != 1, @@ -503,7 +502,7 @@ public: const { typedef typename std::iterator_traits::value_type VT; - typedef typename boost::is_same::type Is_point; + typedef typename std::is_same::type Is_point; // Dispatch the range to the appropriate implementation. return constructor_impl(begin, end, Is_point()); } @@ -526,7 +525,7 @@ public: template X_monotone_curve_2 constructor_impl(ForwardIterator begin, ForwardIterator end, - boost::false_type) const + std::false_type) const { return Base::Construct_x_monotone_curve_2::operator()(begin, end); } /*! Construction of an x-monotone polyline from a range of points. @@ -541,7 +540,7 @@ public: template X_monotone_curve_2 constructor_impl(ForwardIterator begin, ForwardIterator end, - boost::true_type) const + std::true_type) const { // The range must not contain a single point. CGAL_precondition_msg(std::distance(begin, end) != 1, diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_rat_arc/Base_rational_arc_ds_1.h b/Arrangement_on_surface_2/include/CGAL/Arr_rat_arc/Base_rational_arc_ds_1.h index d101f4c0420..7ebec8a5eb6 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_rat_arc/Base_rational_arc_ds_1.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_rat_arc/Base_rational_arc_ds_1.h @@ -18,6 +18,7 @@ #include #include +#include #include #include #include @@ -26,8 +27,6 @@ #include #include -#include - namespace CGAL { namespace Arr_rational_arc { @@ -63,8 +62,8 @@ public: typedef std::vector > Root_multiplicity_vector; - CGAL_static_assertion((boost::is_same::value)); - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_rat_arc/Rational_arc_d_1.h b/Arrangement_on_surface_2/include/CGAL/Arr_rat_arc/Rational_arc_d_1.h index a6d47f2704f..7dc1412a0ee 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_rat_arc/Rational_arc_d_1.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_rat_arc/Rational_arc_d_1.h @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -34,7 +35,6 @@ #include #include -#include namespace CGAL { namespace Arr_rational_arc { @@ -100,8 +100,8 @@ public: typedef Algebraic_point_2 Point_2; - CGAL_static_assertion((boost::is_same::value)); - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_spherical_gaussian_map_3/Arr_polyhedral_sgm.h b/Arrangement_on_surface_2/include/CGAL/Arr_spherical_gaussian_map_3/Arr_polyhedral_sgm.h index b7dfb83c6a4..b429247edc7 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_spherical_gaussian_map_3/Arr_polyhedral_sgm.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_spherical_gaussian_map_3/Arr_polyhedral_sgm.h @@ -84,7 +84,7 @@ private: typedef typename Polyhedron::Halfedge_around_vertex_circulator Polyhedron_halfedge_around_vertex_circulator; - typedef boost::is_same + typedef std::is_same Polyhedron_has_normal; typedef typename Polyhedron::HalfedgeDS HDS; @@ -103,7 +103,7 @@ private: } }; - void compute_planes(Polyhedron& polyhedron, boost::true_type) + void compute_planes(Polyhedron& polyhedron, std::true_type) { std::transform(polyhedron.facets_begin(), polyhedron.facets_end(), polyhedron.planes_begin(), Normal_equation()); @@ -120,7 +120,7 @@ private: } }; - void compute_planes(Polyhedron& polyhedron, boost::false_type) + void compute_planes(Polyhedron& polyhedron, std::false_type) { std::transform(polyhedron.facets_begin(), polyhedron.facets_end(), polyhedron.planes_begin(), Plane_equation()); @@ -350,12 +350,12 @@ private: /*! Obtain the normal of a facet of a polyhedron that supports normals */ template - const Vector_3& get_normal(const Facet& facet, boost::true_type) const + const Vector_3& get_normal(const Facet& facet, std::true_type) const { return facet->plane(); } /*! Obtain the normal of a facet of a polyhedron that supports planes */ template - Vector_3 get_normal(const Facet& facet, boost::false_type) const + Vector_3 get_normal(const Facet& facet, std::false_type) const { return facet->plane().orthogonal_vector(); } /*! Process a polyhedron vertex recursively constructing the Gaussian map diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_spherical_topology_traits_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_spherical_topology_traits_2.h index 2525ddb1fde..6965f66e99f 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_spherical_topology_traits_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_spherical_topology_traits_2.h @@ -91,30 +91,14 @@ public: typedef typename Gt_adaptor_2::Top_side_category Top_side_category; typedef typename Gt_adaptor_2::Right_side_category Right_side_category; - BOOST_MPL_ASSERT - ( - (boost::mpl::or_< - boost::is_same< Left_side_category, Arr_oblivious_side_tag >, - boost::is_same< Left_side_category, Arr_identified_side_tag > >) - ); - BOOST_MPL_ASSERT - ( - (boost::mpl::or_< - boost::is_same< Bottom_side_category, Arr_oblivious_side_tag >, - boost::is_same< Bottom_side_category, Arr_contracted_side_tag > >) - ); - BOOST_MPL_ASSERT - ( - (boost::mpl::or_< - boost::is_same< Top_side_category, Arr_oblivious_side_tag >, - boost::is_same< Top_side_category, Arr_contracted_side_tag > >) - ); - BOOST_MPL_ASSERT - ( - (boost::mpl::or_< - boost::is_same< Right_side_category, Arr_oblivious_side_tag >, - boost::is_same< Right_side_category, Arr_identified_side_tag > >) - ); + CGAL_static_assertion((std::is_same< Left_side_category, Arr_oblivious_side_tag >::value || + std::is_same< Left_side_category, Arr_identified_side_tag >::value)); + CGAL_static_assertion((std::is_same< Bottom_side_category, Arr_oblivious_side_tag >::value || + std::is_same< Bottom_side_category, Arr_contracted_side_tag >::value)); + CGAL_static_assertion((std::is_same< Top_side_category, Arr_oblivious_side_tag >::value || + std::is_same< Top_side_category, Arr_contracted_side_tag >::value)); + CGAL_static_assertion((std::is_same< Right_side_category, Arr_oblivious_side_tag >::value || + std::is_same< Right_side_category, Arr_identified_side_tag >::value)); //@} /*! \struct diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_tags.h b/Arrangement_on_surface_2/include/CGAL/Arr_tags.h index 37dcc065cfc..91313be6c5d 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_tags.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_tags.h @@ -252,7 +252,7 @@ typedef boost::mpl::bool_ Arr_false; template struct Arr_is_side_oblivious { typedef ArrSideCategory Side_cat; - typedef boost::is_same Is_same; + typedef std::is_same Is_same; typedef boost::mpl::if_ result; typedef typename result::type type; }; @@ -260,7 +260,7 @@ struct Arr_is_side_oblivious { template struct Arr_is_side_open { typedef ArrSideCategory Side_cat; - typedef boost::is_same Is_same; + typedef std::is_same Is_same; typedef boost::mpl::if_ result; typedef typename result::type type; }; @@ -268,7 +268,7 @@ struct Arr_is_side_open { template struct Arr_is_side_identified { typedef ArrSideCategory Side_cat; - typedef boost::is_same Is_same; + typedef std::is_same Is_same; typedef boost::mpl::if_ result; typedef typename result::type type; }; @@ -276,7 +276,7 @@ struct Arr_is_side_identified { template struct Arr_is_side_contracted { typedef ArrSideCategory Side_cat; - typedef boost::is_same Is_same; + typedef std::is_same Is_same; typedef boost::mpl::if_ result; typedef typename result::type type; }; @@ -284,7 +284,7 @@ struct Arr_is_side_contracted { template struct Arr_is_side_closed { typedef ArrSideCategory Side_cat; - typedef boost::is_same Is_same; + typedef std::is_same Is_same; typedef boost::mpl::if_ result; typedef typename result::type type; }; @@ -429,6 +429,7 @@ struct Arr_sane_identified_tagging { * otherwise bool_ */ typedef boost::mpl::and_ result; + static constexpr bool value = result::value; }; /*! Checks whether one of two boundary sides are identified diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_unb_planar_topology_traits_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_unb_planar_topology_traits_2.h index 12598f4bed7..355dd76641e 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_unb_planar_topology_traits_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_unb_planar_topology_traits_2.h @@ -87,30 +87,14 @@ public: typedef typename Gt_adaptor_2::Top_side_category Top_side_category; typedef typename Gt_adaptor_2::Right_side_category Right_side_category; - BOOST_MPL_ASSERT( - (boost::mpl::or_< - boost::is_same< Left_side_category, Arr_oblivious_side_tag >, - boost::is_same< Left_side_category, Arr_open_side_tag > > - ) - ); - BOOST_MPL_ASSERT( - (boost::mpl::or_< - boost::is_same< Bottom_side_category, Arr_oblivious_side_tag >, - boost::is_same< Bottom_side_category, Arr_open_side_tag > > - ) - ); - BOOST_MPL_ASSERT( - (boost::mpl::or_< - boost::is_same< Top_side_category, Arr_oblivious_side_tag >, - boost::is_same< Top_side_category, Arr_open_side_tag > > - ) - ); - BOOST_MPL_ASSERT( - (boost::mpl::or_< - boost::is_same< Right_side_category, Arr_oblivious_side_tag >, - boost::is_same< Right_side_category, Arr_open_side_tag > > - ) - ); + CGAL_static_assertion((std::is_same< Left_side_category, Arr_oblivious_side_tag >::value || + std::is_same< Left_side_category, Arr_open_side_tag >::value)); + CGAL_static_assertion((std::is_same< Bottom_side_category, Arr_oblivious_side_tag >::value || + std::is_same< Bottom_side_category, Arr_open_side_tag >::value)); + CGAL_static_assertion((std::is_same< Top_side_category, Arr_oblivious_side_tag>::value || + std::is_same< Top_side_category, Arr_open_side_tag >::value)); + CGAL_static_assertion((std::is_same< Right_side_category, Arr_oblivious_side_tag >::value || + std::is_same< Right_side_category, Arr_open_side_tag >::value)); //@} /*! \struct diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_vertical_decomposition_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_vertical_decomposition_2.h index c47e24f906c..d06d7c71076 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_vertical_decomposition_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_vertical_decomposition_2.h @@ -124,7 +124,7 @@ decompose(const Arrangement_on_surface_2& arr, * Use the form 'A a(*b);' and not ''A a = b;' to handle the case where A has * only an implicit constructor, (which takes *b as a parameter). */ - typename boost::mpl::if_, const Vgt2&, Vgt2>::type + typename boost::mpl::if_, const Vgt2&, Vgt2>::type ex_traits(*geom_traits); // Define the sweep-line visitor and perform the sweep. diff --git a/Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arr_traits_adaptor_2_dispatching.h b/Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arr_traits_adaptor_2_dispatching.h index bb92174320e..1993de1862f 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arr_traits_adaptor_2_dispatching.h +++ b/Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arr_traits_adaptor_2_dispatching.h @@ -63,11 +63,11 @@ private: typedef boost::mpl::bool_< false > false_; typedef boost::mpl::if_< - boost::is_same< Arr_smaller_implementation_tag, Arr_use_traits_tag >, + std::is_same< Arr_smaller_implementation_tag, Arr_use_traits_tag >, true_, false_ > Smaller_traits; typedef boost::mpl::if_< - boost::is_same< Arr_larger_implementation_tag, Arr_use_traits_tag >, + std::is_same< Arr_larger_implementation_tag, Arr_use_traits_tag >, true_, false_ > Larger_traits; public: diff --git a/Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arrangement_on_surface_2_global.h b/Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arrangement_on_surface_2_global.h index fdc2d302b47..b0cb7948e51 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arrangement_on_surface_2_global.h +++ b/Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arrangement_on_surface_2_global.h @@ -73,7 +73,7 @@ template & arr, const typename GeometryTraits_2::Curve_2& c, const PointLocation& pl, ZoneVisitor &visitor, - boost::is_same::type) + std::is_same::type) { typedef GeometryTraits_2 Gt2; typedef TopologyTraits Tt; @@ -145,7 +145,7 @@ template & arr, const typename GeometryTraits_2::X_monotone_curve_2& c, const PointLocation& pl, ZoneVisitor &visitor, - boost::is_same::type) + std::is_same::type) { typedef GeometryTraits_2 Gt2; typedef TopologyTraits Tt; @@ -184,7 +184,7 @@ void insert(Arrangement_on_surface_2& arr, { typedef GeometryTraits_2 Gt2; typedef typename Gt2::X_monotone_curve_2 X_monotone_curve_2; - typedef typename boost::is_same::type + typedef typename std::is_same::type Is_x_monotone; insert(arr, c, pl, visitor, Is_x_monotone()); @@ -193,7 +193,7 @@ void insert(Arrangement_on_surface_2& arr, // In some compilers there is a template deduction disambiguity between this // function and the function receiving two InputIterator. // For now the solution is to add a dummy variable at the end (referring -// to point-location). Maybe the proper solution is to use boost::enable_if +// to point-location). Maybe the proper solution is to use std::enable_if // together with appropriate tag. template @@ -271,7 +271,7 @@ insert_empty(Arrangement_on_surface_2& arr, * Use the form 'A a(*b);' and not ''A a = b;' to handle the case where A has * only an implicit constructor, (which takes *b as a parameter). */ - typename boost::mpl::if_, const Cgt2&, Cgt2>::type + typename boost::mpl::if_, const Cgt2&, Cgt2>::type traits(*geom_traits); // Define a surface-sweep instance and perform the sweep: @@ -326,7 +326,7 @@ void insert_empty(Arrangement_on_surface_2& * Use the form 'A a(*b);' and not ''A a = b;' to handle the case where A has * only an implicit constructor, (which takes *b as a parameter). */ - typename boost::mpl::if_, const Cgt2&, Cgt2>::type + typename boost::mpl::if_, const Cgt2&, Cgt2>::type traits(*geom_traits); // Define a surface-sweep instance and perform the sweep. @@ -379,7 +379,7 @@ void insert_non_empty(Arrangement_on_surface_2, const Igt2&, Igt2>::type + typename boost::mpl::if_, const Igt2&, Igt2>::type traits(*geom_traits); // Create a set of existing as well as new curves and points. @@ -417,7 +417,7 @@ template void insert(Arrangement_on_surface_2& arr, InputIterator begin, InputIterator end, - boost::is_same::type) + std::is_same::type) { typedef GeometryTraits_2 Gt2; typedef TopologyTraits Tt; @@ -471,7 +471,7 @@ template void insert(Arrangement_on_surface_2& arr, InputIterator begin, InputIterator end, - boost::is_same::type) + std::is_same::type) { typedef GeometryTraits_2 Gt2; typedef TopologyTraits Tt; @@ -513,7 +513,7 @@ void insert(Arrangement_on_surface_2& arr, typedef typename std::iterator_traits::value_type Iterator_value_type; - typedef typename boost::is_same::type + typedef typename std::is_same::type Is_x_monotone; return insert(arr, begin, end, Is_x_monotone()); @@ -979,7 +979,7 @@ non_intersecting_insert_non_empty(Arrangement_on_surface_2, const Igt2&, Igt2>::type + typename boost::mpl::if_, const Igt2&, Igt2>::type traits(*geom_traits); // Create a set of existing as well as new curves and points. @@ -1533,7 +1533,7 @@ template & arr, const typename GeometryTraits_2::X_monotone_curve_2& c, - const PointLocation& pl, boost::is_same::type) + const PointLocation& pl, std::is_same::type) { typedef GeometryTraits_2 Gt2; typedef TopologyTraits Tt; @@ -1571,7 +1571,7 @@ template & arr, const typename GeometryTraits_2::X_monotone_curve_2& c, - const PointLocation& pl, boost::is_same::type) + const PointLocation& pl, std::is_same::type) { typedef GeometryTraits_2 Gt2; typedef TopologyTraits Tt; @@ -1628,7 +1628,7 @@ do_intersect(Arrangement_on_surface_2& arr, typedef typename Gt2::X_monotone_curve_2 X_monotone_curve_2; - typedef typename boost::is_same::type + typedef typename std::is_same::type Is_x_monotone; return do_intersect(arr, c, pl, Is_x_monotone()); diff --git a/Arrangement_on_surface_2/include/CGAL/Arrangement_on_surface_2.h b/Arrangement_on_surface_2/include/CGAL/Arrangement_on_surface_2.h index 6c038ae6935..eef016ca2f7 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arrangement_on_surface_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arrangement_on_surface_2.h @@ -77,13 +77,10 @@ public: typedef typename Traits_adaptor_2::Top_side_category Top_side_category; typedef typename Traits_adaptor_2::Right_side_category Right_side_category; - BOOST_MPL_ASSERT( - (typename - Arr_sane_identified_tagging::result) - ); + CGAL_static_assertion((Arr_sane_identified_tagging::value)); public: typedef Arrangement_on_surface_2 @@ -2853,7 +2850,7 @@ protected: // In some compilers there is a template deduction disambiguity between this // function and the following function receiving two InputIterator. // For now the solution is to add a dummy variable at the end (referring -// to point-location). Maybe the proper solution is to use boost::enable_if +// to point-location). Maybe the proper solution is to use std::enable_if // together with appropriate tag. /*! * Insert a curve or x-monotone curve into the arrangement (incremental diff --git a/Arrangement_on_surface_2/include/CGAL/Arrangement_zone_2.h b/Arrangement_on_surface_2/include/CGAL/Arrangement_zone_2.h index 42b1e919d23..8f3df2766c0 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arrangement_zone_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arrangement_zone_2.h @@ -67,11 +67,10 @@ protected: typedef typename Traits_adaptor_2::Top_side_category Top_side_category; typedef typename Traits_adaptor_2::Right_side_category Right_side_category; - BOOST_MPL_ASSERT - ((typename Arr_sane_identified_tagging::result)); + CGAL_static_assertion((Arr_sane_identified_tagging::value)); public: typedef ZoneVisitor_ Visitor; diff --git a/Arrangement_on_surface_2/include/CGAL/Curved_kernel_via_analysis_2/Arc_2.h b/Arrangement_on_surface_2/include/CGAL/Curved_kernel_via_analysis_2/Arc_2.h index 6b81a77bfab..9db172266e5 100644 --- a/Arrangement_on_surface_2/include/CGAL/Curved_kernel_via_analysis_2/Arc_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Curved_kernel_via_analysis_2/Arc_2.h @@ -22,9 +22,9 @@ #include #include +#include #include #include -#include #include #include @@ -232,7 +232,7 @@ public: //!@} #if !defined(CGAL_NO_ASSERTIONS) - static const bool Kernel_arc_2_equals_Arc_2 = boost::is_same::value; + static const bool Kernel_arc_2_equals_Arc_2 = std::is_same::value; #endif public: diff --git a/Arrangement_on_surface_2/include/CGAL/Curved_kernel_via_analysis_2/Curve_renderer_facade.h b/Arrangement_on_surface_2/include/CGAL/Curved_kernel_via_analysis_2/Curve_renderer_facade.h index 81947d168b6..e4d446e4b41 100644 --- a/Arrangement_on_surface_2/include/CGAL/Curved_kernel_via_analysis_2/Curve_renderer_facade.h +++ b/Arrangement_on_surface_2/include/CGAL/Curved_kernel_via_analysis_2/Curve_renderer_facade.h @@ -279,7 +279,7 @@ Lrestart: std::cerr << "Switching to multi-precision arithmetic" << std::endl; #ifdef CGAL_CKVA_USE_MULTIPREC_ARITHMETIC - if(::boost::is_same:: + if(::std::is_same:: Is_exact, CGAL::Tag_true>::value) goto Lexit; @@ -298,7 +298,7 @@ Lrestart: std::cerr << "Switching to exact arithmetic" << std::endl; #ifdef CGAL_CKVA_USE_RATIONAL_ARITHMETIC - if(::boost::is_same< + if(::std::is_same< typename Algebraic_structure_traits< Float >::Is_exact, CGAL::Tag_true>::value) goto Lexit; diff --git a/Arrangement_on_surface_2/include/CGAL/Curved_kernel_via_analysis_2/Point_2.h b/Arrangement_on_surface_2/include/CGAL/Curved_kernel_via_analysis_2/Point_2.h index a5f7b53afae..f243c948bc0 100644 --- a/Arrangement_on_surface_2/include/CGAL/Curved_kernel_via_analysis_2/Point_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Curved_kernel_via_analysis_2/Point_2.h @@ -23,7 +23,6 @@ #include #include -#include #include @@ -31,6 +30,8 @@ #include +#include + namespace CGAL { namespace internal { @@ -170,7 +171,7 @@ public: //!@} #if !defined(CGAL_NO_ASSERTIONS) - static const bool Kernel_point_2_equals_Point_2 = boost::is_same::value; + static const bool Kernel_point_2_equals_Point_2 = std::is_same::value; #endif public: diff --git a/Arrangement_on_surface_2/test/Arrangement_on_surface_2/test_conic_polycurve.cpp b/Arrangement_on_surface_2/test/Arrangement_on_surface_2/test_conic_polycurve.cpp index 84c33b4d914..80956fb505d 100644 --- a/Arrangement_on_surface_2/test/Arrangement_on_surface_2/test_conic_polycurve.cpp +++ b/Arrangement_on_surface_2/test/Arrangement_on_surface_2/test_conic_polycurve.cpp @@ -13,8 +13,7 @@ int main() #include #include - -#include +#include #include #include diff --git a/Arrangement_on_surface_2/test/Arrangement_on_surface_2/test_tags.cpp b/Arrangement_on_surface_2/test/Arrangement_on_surface_2/test_tags.cpp index d722606771e..84896d26a68 100644 --- a/Arrangement_on_surface_2/test/Arrangement_on_surface_2/test_tags.cpp +++ b/Arrangement_on_surface_2/test/Arrangement_on_surface_2/test_tags.cpp @@ -273,38 +273,38 @@ int main () assert(ident12() == false); CGAL_static_assertion( - (boost::is_same< CGAL::internal::Arr_complete_left_side_category< Traits5 >::Category, + (std::is_same< CGAL::internal::Arr_complete_left_side_category< Traits5 >::Category, CGAL::Arr_oblivious_side_tag >::value) ); CGAL_static_assertion( - (boost::is_same< CGAL::internal::Arr_complete_left_side_category< Traits1 >::Category, + (std::is_same< CGAL::internal::Arr_complete_left_side_category< Traits1 >::Category, CGAL::Arr_open_side_tag >::value) ); CGAL_static_assertion( - (boost::is_same::Category, + (std::is_same::Category, CGAL::Arr_oblivious_side_tag >::value) ); CGAL_static_assertion( - (boost::is_same::Category, + (std::is_same::Category, CGAL::Arr_open_side_tag >::value) ); CGAL_static_assertion( - (boost::is_same< CGAL::internal::Arr_complete_top_side_category< Traits5 >::Category, + (std::is_same< CGAL::internal::Arr_complete_top_side_category< Traits5 >::Category, CGAL::Arr_oblivious_side_tag >::value) ); CGAL_static_assertion( - (boost::is_same< CGAL::internal::Arr_complete_top_side_category< Traits1 >::Category, + (std::is_same< CGAL::internal::Arr_complete_top_side_category< Traits1 >::Category, CGAL::Arr_open_side_tag >::value) ); CGAL_static_assertion( - (boost::is_same< CGAL::internal::Arr_complete_right_side_category< Traits5 >::Category, + (std::is_same< CGAL::internal::Arr_complete_right_side_category< Traits5 >::Category, CGAL::Arr_oblivious_side_tag >::value) ); CGAL_static_assertion( - (boost::is_same< CGAL::internal::Arr_complete_right_side_category< Traits1 >::Category, + (std::is_same< CGAL::internal::Arr_complete_right_side_category< Traits1 >::Category, CGAL::Arr_open_side_tag >::value) ); diff --git a/BGL/include/CGAL/boost/graph/Face_filtered_graph.h b/BGL/include/CGAL/boost/graph/Face_filtered_graph.h index 6647245fab7..25a75abed29 100644 --- a/BGL/include/CGAL/boost/graph/Face_filtered_graph.h +++ b/BGL/include/CGAL/boost/graph/Face_filtered_graph.h @@ -214,9 +214,9 @@ struct Face_filtered_graph FacePatchIndexMap face_patch_index_map, const CGAL_NP_CLASS& np #ifndef DOXYGEN_RUNNING - , typename boost::enable_if< - typename boost::has_range_const_iterator::type - >::type* = 0 + , std::enable_if_t< + boost::has_range_const_iterator::value + >* = 0 #endif ) : _graph(const_cast(graph)), @@ -231,9 +231,9 @@ struct Face_filtered_graph Face_filtered_graph(const Graph& graph, const FacePatchIndexRange& selected_face_patch_indices, FacePatchIndexMap face_patch_index_map - , typename boost::enable_if< - typename boost::has_range_const_iterator::type - >::type* = 0 + , std::enable_if_t< + boost::has_range_const_iterator::value + >* = 0 ) : _graph(const_cast(graph)), fimap(CGAL::get_initialized_face_index_map(graph)), @@ -471,9 +471,9 @@ struct Face_filtered_graph void set_selected_faces(const FacePatchIndexRange& selected_face_patch_indices, FacePatchIndexMap face_patch_index_map #ifndef DOXYGEN_RUNNING - , typename boost::enable_if< - typename boost::has_range_const_iterator::type - >::type* = 0 + , std::enable_if_t< + boost::has_range_const_iterator::value + >* = 0 #endif ) { diff --git a/BGL/include/CGAL/boost/graph/IO/3MF.h b/BGL/include/CGAL/boost/graph/IO/3MF.h index 664551c9af2..33e6c6a823f 100644 --- a/BGL/include/CGAL/boost/graph/IO/3MF.h +++ b/BGL/include/CGAL/boost/graph/IO/3MF.h @@ -18,11 +18,11 @@ #include #include -#include #include #include #include +#include #if defined(CGAL_LINKED_WITH_3MF) || defined(DOXYGEN_RUNNING) @@ -59,9 +59,9 @@ bool write_3MF(const std::string& filename, const GraphRange& gs, const std::vector& names #ifndef DOXYGEN_RUNNING - , typename boost::disable_if< + , std::enable_if_t::type> >::type* = nullptr + typename boost::range_value::type>::value>* = nullptr #endif ) { diff --git a/BGL/include/CGAL/boost/graph/IO/GOCAD.h b/BGL/include/CGAL/boost/graph/IO/GOCAD.h index b273394ae84..4f8605d83d9 100644 --- a/BGL/include/CGAL/boost/graph/IO/GOCAD.h +++ b/BGL/include/CGAL/boost/graph/IO/GOCAD.h @@ -114,7 +114,7 @@ bool read_GOCAD(std::istream& is, Graph& g, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -135,7 +135,7 @@ bool read_GOCAD(std::istream& is, template bool read_GOCAD(std::istream& is, Graph& g, const CGAL_NP_CLASS& np = parameters::default_values(), - typename boost::disable_if >::type* = nullptr) + std::enable_if_t::value>* = nullptr) { std::pair dummy; return read_GOCAD(is, dummy, g, np); @@ -188,7 +188,7 @@ bool read_GOCAD(const std::string& fname, Graph& g, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -201,7 +201,7 @@ bool read_GOCAD(const std::string& fname, template bool read_GOCAD(const std::string& fname, Graph& g, const CGAL_NP_CLASS& np = parameters::default_values(), - typename boost::disable_if >::type* = nullptr) + std::enable_if_t::value>* = nullptr) { std::pair dummy; return read_GOCAD(fname, dummy, g, np); @@ -251,7 +251,7 @@ bool write_GOCAD(std::ostream& os, const Graph& g, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -347,7 +347,7 @@ bool write_GOCAD(std::ostream& os, const Graph& g, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -392,7 +392,7 @@ bool write_GOCAD(const std::string& fname, const Graph& g, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { diff --git a/BGL/include/CGAL/boost/graph/IO/OBJ.h b/BGL/include/CGAL/boost/graph/IO/OBJ.h index 16e779bf9ba..519e0b986b4 100644 --- a/BGL/include/CGAL/boost/graph/IO/OBJ.h +++ b/BGL/include/CGAL/boost/graph/IO/OBJ.h @@ -109,7 +109,7 @@ bool read_OBJ(std::istream& is, Graph& g, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -165,7 +165,7 @@ bool read_OBJ(const std::string& fname, Graph& g, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -217,7 +217,7 @@ bool write_OBJ(std::ostream& os, const Graph& g, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -263,7 +263,7 @@ bool write_OBJ(const std::string& fname, const Graph& g, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { diff --git a/BGL/include/CGAL/boost/graph/IO/OFF.h b/BGL/include/CGAL/boost/graph/IO/OFF.h index 0d1b242be5e..25f76b2b1d6 100644 --- a/BGL/include/CGAL/boost/graph/IO/OFF.h +++ b/BGL/include/CGAL/boost/graph/IO/OFF.h @@ -22,8 +22,6 @@ #include #include -#include - #include #include #include @@ -155,7 +153,7 @@ bool read_OFF(std::istream& is, Graph& g, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -239,7 +237,7 @@ bool read_OFF(const std::string& fname, Graph& g, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -365,7 +363,7 @@ bool write_OFF(std::ostream& os, const Graph& g, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -439,7 +437,7 @@ bool write_OFF(const std::string& fname, const Graph& g, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { diff --git a/BGL/include/CGAL/boost/graph/IO/PLY.h b/BGL/include/CGAL/boost/graph/IO/PLY.h index 652cc9cdee2..290543ecdef 100644 --- a/BGL/include/CGAL/boost/graph/IO/PLY.h +++ b/BGL/include/CGAL/boost/graph/IO/PLY.h @@ -19,8 +19,6 @@ #include #include -#include - #include #include @@ -136,7 +134,7 @@ bool read_PLY(std::istream& is, Graph& g, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -211,7 +209,7 @@ bool read_PLY(const std::string& fname, Graph& g, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -298,7 +296,7 @@ bool write_PLY(std::ostream& os, const std::string& comments, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -421,7 +419,7 @@ bool write_PLY(std::ostream& os, template bool write_PLY(std::ostream& os, const Graph& g, const CGAL_NP_CLASS& np = parameters::default_values(), - typename boost::disable_if >::type* = nullptr) + std::enable_if_t::value>* = nullptr) { return write_PLY(os, g, std::string(), np); } @@ -494,7 +492,7 @@ bool write_PLY(const std::string& fname, const std::string& comments, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -518,7 +516,7 @@ bool write_PLY(const std::string& fname, template bool write_PLY(const std::string& fname, const Graph& g, const CGAL_NP_CLASS& np = parameters::default_values(), - typename boost::disable_if >::type* = nullptr) + std::enable_if_t::value>* = nullptr) { return write_PLY(fname, g, std::string(), np); } diff --git a/BGL/include/CGAL/boost/graph/copy_face_graph.h b/BGL/include/CGAL/boost/graph/copy_face_graph.h index 80337715cd9..956b640f879 100644 --- a/BGL/include/CGAL/boost/graph/copy_face_graph.h +++ b/BGL/include/CGAL/boost/graph/copy_face_graph.h @@ -23,7 +23,6 @@ #include #include #include -#include #include diff --git a/BGL/include/CGAL/boost/graph/internal/Has_member_clear.h b/BGL/include/CGAL/boost/graph/internal/Has_member_clear.h index 4ef31005de9..9d0288d1171 100644 --- a/BGL/include/CGAL/boost/graph/internal/Has_member_clear.h +++ b/BGL/include/CGAL/boost/graph/internal/Has_member_clear.h @@ -28,6 +28,9 @@ public: static const bool value = (sizeof(f(0)) == sizeof(char)); }; +template +CGAL_CPP17_INLINE constexpr bool Has_member_clear_v = Has_member_clear::value; + } // internal } // cgal diff --git a/BGL/include/CGAL/boost/graph/internal/OM_iterator_from_circulator.h b/BGL/include/CGAL/boost/graph/internal/OM_iterator_from_circulator.h index 71b798cc79c..e726e161a6b 100644 --- a/BGL/include/CGAL/boost/graph/internal/OM_iterator_from_circulator.h +++ b/BGL/include/CGAL/boost/graph/internal/OM_iterator_from_circulator.h @@ -21,7 +21,6 @@ #include #include -#include namespace CGAL { @@ -92,12 +91,12 @@ public: // templates as a work-around. private: template - typename boost::enable_if_c::type + std::enable_if_t indirection() const { return const_cast(this)->current; } template - typename boost::disable_if_c::type + std::enable_if_t indirection() const { return *current; } @@ -108,12 +107,12 @@ public: private: template - typename boost::disable_if_c::type + std::enable_if_t structure_dereference() { return &(*current); } template - typename boost::enable_if_c::type + std::enable_if_t structure_dereference() { return ¤t; } diff --git a/BGL/include/CGAL/boost/graph/named_params_helper.h b/BGL/include/CGAL/boost/graph/named_params_helper.h index 4399e555143..303ab8c9ba1 100644 --- a/BGL/include/CGAL/boost/graph/named_params_helper.h +++ b/BGL/include/CGAL/boost/graph/named_params_helper.h @@ -20,7 +20,6 @@ #include #include -#include #include #include @@ -151,7 +150,7 @@ class GetGeomTraits struct Fake_GT {}; // to be used if there is no internal vertex_point_map in PolygonMesh typedef typename boost::mpl::if_c::value, + !std::is_same::value, typename GetK::Kernel, Fake_GT>::type DefaultKernel; @@ -338,7 +337,7 @@ struct Point_set_processing_3_np_helper static constexpr bool has_normal_map() { - return !boost::is_same< typename internal_np::Get_param::type, + return !std::is_same< typename internal_np::Get_param::type, internal_np::Param_not_found> ::value; } }; diff --git a/BGL/include/CGAL/boost/graph/properties_OpenMesh.h b/BGL/include/CGAL/boost/graph/properties_OpenMesh.h index 7f1d44979d1..35b49cf33eb 100644 --- a/BGL/include/CGAL/boost/graph/properties_OpenMesh.h +++ b/BGL/include/CGAL/boost/graph/properties_OpenMesh.h @@ -29,11 +29,11 @@ namespace CGAL { template class OM_pmap { public: - typedef typename boost::mpl::if_::vertex_descriptor>, + typedef typename boost::mpl::if_::vertex_descriptor>, OpenMesh::VPropHandleT, - typename boost::mpl::if_::face_descriptor>, + typename boost::mpl::if_::face_descriptor>, OpenMesh::FPropHandleT, - typename boost::mpl::if_::halfedge_descriptor>, + typename boost::mpl::if_::halfedge_descriptor>, OpenMesh::HPropHandleT, OpenMesh::EPropHandleT >::type>::type>::type H; diff --git a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_agg_meta_traits.h b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_agg_meta_traits.h index 5d062639df6..f673515eda6 100644 --- a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_agg_meta_traits.h +++ b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_agg_meta_traits.h @@ -17,7 +17,6 @@ #include #include -#include #include #include #include @@ -124,18 +123,14 @@ public: typedef typename Arr::Right_side_category Right_side_category; // a side is either oblivious or open (unbounded) - BOOST_MPL_ASSERT((boost::mpl::or_< - boost::is_same, - boost::is_same >)); - BOOST_MPL_ASSERT((boost::mpl::or_< - boost::is_same, - boost::is_same >)); - BOOST_MPL_ASSERT((boost::mpl::or_< - boost::is_same, - boost::is_same >)); - BOOST_MPL_ASSERT((boost::mpl::or_< - boost::is_same, - boost::is_same >)); + CGAL_static_assertion((std::is_same::value || + std::is_same::value)); + CGAL_static_assertion((std::is_same::value || + std::is_same::value)); + CGAL_static_assertion((std::is_same::value || + std::is_same::value)); + CGAL_static_assertion((std::is_same::value || + std::is_same::value)); typedef typename Arr::Halfedge_handle Halfedge_handle; typedef typename Arr::Vertex_handle Vertex_handle; diff --git a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_traits_decorator.h b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_traits_decorator.h index 74664d72795..c260e4cf824 100644 --- a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_traits_decorator.h +++ b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_traits_decorator.h @@ -15,9 +15,6 @@ #include - -#include - namespace CGAL { template @@ -56,30 +53,14 @@ public: typedef typename Base::Right_side_category Right_side_category; // a side is either oblivious or open (unbounded) - BOOST_MPL_ASSERT( - (boost::mpl::or_< - boost::is_same< Left_side_category, Arr_oblivious_side_tag >, - boost::is_same< Left_side_category, Arr_open_side_tag > > - ) - ); - BOOST_MPL_ASSERT( - (boost::mpl::or_< - boost::is_same< Bottom_side_category, Arr_oblivious_side_tag >, - boost::is_same< Bottom_side_category, Arr_open_side_tag > > - ) - ); - BOOST_MPL_ASSERT( - (boost::mpl::or_< - boost::is_same< Top_side_category, Arr_oblivious_side_tag >, - boost::is_same< Top_side_category, Arr_open_side_tag > > - ) - ); - BOOST_MPL_ASSERT( - (boost::mpl::or_< - boost::is_same< Right_side_category, Arr_oblivious_side_tag >, - boost::is_same< Right_side_category, Arr_open_side_tag > > - ) - ); + CGAL_static_assertion((std::is_same< Left_side_category, Arr_oblivious_side_tag >::value || + std::is_same< Left_side_category, Arr_open_side_tag >::value)); + CGAL_static_assertion((std::is_same< Bottom_side_category, Arr_oblivious_side_tag >::value || + std::is_same< Bottom_side_category, Arr_open_side_tag >::value)); + CGAL_static_assertion((std::is_same< Top_side_category, Arr_oblivious_side_tag >::value || + std::is_same< Top_side_category, Arr_open_side_tag >::value)); + CGAL_static_assertion((std::is_same< Right_side_category, Arr_oblivious_side_tag >::value || + std::is_same< Right_side_category, Arr_open_side_tag >::value)); class Ex_point_2 { diff --git a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/complement.h b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/complement.h index cf4de75f554..29496049990 100644 --- a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/complement.h +++ b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/complement.h @@ -18,8 +18,6 @@ #include -#include - #include #include @@ -33,7 +31,7 @@ #include #include #include -#include +#include namespace CGAL { diff --git a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/difference.h b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/difference.h index b2573a88629..dba4b1d433a 100644 --- a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/difference.h +++ b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/difference.h @@ -18,8 +18,6 @@ #include -#include - #include #include @@ -33,7 +31,7 @@ #include #include #include -#include +#include namespace CGAL { diff --git a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/do_intersect.h b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/do_intersect.h index 820596d5fb7..c81f2397ba4 100644 --- a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/do_intersect.h +++ b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/do_intersect.h @@ -18,8 +18,6 @@ #include -#include - #include #include @@ -33,7 +31,7 @@ #include #include #include -#include +#include namespace CGAL { diff --git a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/intersection.h b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/intersection.h index f961e507a0e..180fe406107 100644 --- a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/intersection.h +++ b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/intersection.h @@ -18,8 +18,6 @@ #include -#include - #include #include @@ -33,7 +31,7 @@ #include #include #include -#include +#include namespace CGAL { diff --git a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/join.h b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/join.h index b0572c760e9..9ec9ea2527d 100644 --- a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/join.h +++ b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/join.h @@ -18,8 +18,6 @@ #include -#include - #include #include @@ -33,7 +31,7 @@ #include #include #include -#include +#include namespace CGAL { diff --git a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/oriented_side.h b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/oriented_side.h index 8b7d1ad23ce..133ad6fcbae 100644 --- a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/oriented_side.h +++ b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/oriented_side.h @@ -18,8 +18,6 @@ #include -#include - #include #include @@ -33,7 +31,7 @@ #include #include #include -#include +#include namespace CGAL { diff --git a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/symmetric_difference.h b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/symmetric_difference.h index b4d3e376516..dfe0297dcde 100644 --- a/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/symmetric_difference.h +++ b/Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/symmetric_difference.h @@ -18,8 +18,6 @@ #include -#include - #include #include @@ -33,7 +31,7 @@ #include #include #include -#include +#include namespace CGAL { diff --git a/Box_intersection_d/include/CGAL/Box_intersection_d/segment_tree.h b/Box_intersection_d/include/CGAL/Box_intersection_d/segment_tree.h index fae47c57812..31b1fb23dd0 100644 --- a/Box_intersection_d/include/CGAL/Box_intersection_d/segment_tree.h +++ b/Box_intersection_d/include/CGAL/Box_intersection_d/segment_tree.h @@ -330,7 +330,7 @@ CGAL_CPP17_INLINE constexpr bool Has_member_report_v = Has_member_report::val template inline -std::enable_if_t, bool> +std::enable_if_t::value, bool> report_impl(Callback callback, int dim) { return callback.report(dim); @@ -338,7 +338,7 @@ report_impl(Callback callback, int dim) template inline -std::enable_if_t, bool> +std::enable_if_t::value, bool> report_impl(const Callback&, int) { return false; @@ -346,7 +346,7 @@ report_impl(const Callback&, int) template inline -std::enable_if_t, void> +std::enable_if_t::value, void> progress_impl(Callback callback, double d) { callback.progress(d); @@ -354,7 +354,7 @@ progress_impl(Callback callback, double d) template inline -std::enable_if_t, void> +std::enable_if_t::value, void> progress_impl(const Callback&, double) {} diff --git a/CGAL_ipelets/include/CGAL/CGAL_Ipelet_base_v6.h b/CGAL_ipelets/include/CGAL/CGAL_Ipelet_base_v6.h index de68972f1fb..52281e3e45d 100644 --- a/CGAL_ipelets/include/CGAL/CGAL_Ipelet_base_v6.h +++ b/CGAL_ipelets/include/CGAL/CGAL_Ipelet_base_v6.h @@ -338,12 +338,12 @@ public: draw_polyline_in_ipe(const iterator first, const iterator last, bool setclose=false,bool deselect_all=false, bool blackfill=false, - typename boost::enable_if< - boost::is_same< + std::enable_if_t< + std::is_same< typename std::iterator_traits::value_type, Point_2 - > - >::type* =nullptr) const + >::value + >* =nullptr) const { IpeSegmentSubPath* SSP_ipe=create_polyline(first,last,setclose); if (SSP_ipe!=nullptr){ @@ -636,13 +636,13 @@ public: template void draw_in_ipe(const iterator begin,const iterator end,const Iso_rectangle_2& bbox,bool make_grp=true,bool deselect_all=false, - typename boost::enable_if< boost::mpl::or_< boost::is_same::value_type,Point_2> , - boost::mpl::or_< boost::is_same::value_type,Segment_2> , - boost::mpl::or_< boost::is_same::value_type,Circle_2> , - boost::mpl::or_< boost::is_same::value_type,Circular_arc_2> , - boost::is_same::value_type,Polygon_2> - > > > > - >::type* = nullptr) const + std::enable_if_t< boost::mpl::or_< std::is_same::value_type,Point_2> , + boost::mpl::or_< std::is_same::value_type,Segment_2> , + boost::mpl::or_< std::is_same::value_type,Circle_2> , + boost::mpl::or_< std::is_same::value_type,Circular_arc_2> , + std::is_same::value_type,Polygon_2> + > > > >::value + >* = nullptr) const { for (iterator it=begin;it!=end;++it) draw_in_ipe(*it,bbox); diff --git a/CGAL_ipelets/include/CGAL/CGAL_Ipelet_base_v7.h b/CGAL_ipelets/include/CGAL/CGAL_Ipelet_base_v7.h index b1cd3f50ba5..feb34f62f3b 100644 --- a/CGAL_ipelets/include/CGAL/CGAL_Ipelet_base_v7.h +++ b/CGAL_ipelets/include/CGAL/CGAL_Ipelet_base_v7.h @@ -350,12 +350,12 @@ public: draw_polyline_in_ipe(const iterator first, const iterator last, bool setclose=false,bool deselect_all=false, bool blackfill=false, - typename boost::enable_if< - boost::is_same< + std::enable_if_t< + std::is_same< typename std::iterator_traits::value_type, Point_2 - > - >::type* =nullptr) const + >::value + >* =nullptr) const { ipe::Curve* SSP_ipe=create_polyline(first,last,setclose); if (SSP_ipe!=nullptr){ @@ -645,13 +645,13 @@ public: template void draw_in_ipe(const iterator begin,const iterator end,const Iso_rectangle_2& bbox,bool make_grp=true,bool deselect_all=false, - typename boost::enable_if< boost::mpl::or_< boost::is_same::value_type,Point_2> , - boost::mpl::or_< boost::is_same::value_type,Segment_2> , - boost::mpl::or_< boost::is_same::value_type,Circle_2> , - boost::mpl::or_< boost::is_same::value_type,Circular_arc_2> , - boost::is_same::value_type,Polygon_2> - > > > > - >::type* = nullptr) const + std::enable_if_t< boost::mpl::or_< std::is_same::value_type,Point_2> , + boost::mpl::or_< std::is_same::value_type,Segment_2> , + boost::mpl::or_< std::is_same::value_type,Circle_2> , + boost::mpl::or_< std::is_same::value_type,Circular_arc_2> , + std::is_same::value_type,Polygon_2> + > > > >::value + >* = nullptr) const { for (iterator it=begin;it!=end;++it) draw_in_ipe(*it,bbox); diff --git a/Cartesian_kernel/include/CGAL/Cartesian_converter.h b/Cartesian_kernel/include/CGAL/Cartesian_converter.h index 946dc51ce4b..916697a972d 100644 --- a/Cartesian_kernel/include/CGAL/Cartesian_converter.h +++ b/Cartesian_kernel/include/CGAL/Cartesian_converter.h @@ -129,7 +129,7 @@ public: template T operator()(const T t, - typename std::enable_if::value>::type* = nullptr) const + std::enable_if_t::value>* = nullptr) const { return t; } diff --git a/Circular_kernel_2/include/CGAL/Circular_kernel_2/Circular_arc_point_2.h b/Circular_kernel_2/include/CGAL/Circular_kernel_2/Circular_arc_point_2.h index 2d495660f45..5a5d56c4e92 100644 --- a/Circular_kernel_2/include/CGAL/Circular_kernel_2/Circular_arc_point_2.h +++ b/Circular_kernel_2/include/CGAL/Circular_kernel_2/Circular_arc_point_2.h @@ -22,10 +22,10 @@ #include +#include #include #include #include -#include namespace CGAL { namespace internal { diff --git a/Circular_kernel_3/include/CGAL/Circular_kernel_3/function_objects_polynomial_sphere.h b/Circular_kernel_3/include/CGAL/Circular_kernel_3/function_objects_polynomial_sphere.h index 48972182b0c..ff7119586a5 100644 --- a/Circular_kernel_3/include/CGAL/Circular_kernel_3/function_objects_polynomial_sphere.h +++ b/Circular_kernel_3/include/CGAL/Circular_kernel_3/function_objects_polynomial_sphere.h @@ -21,7 +21,7 @@ #include -#include +#include #include #include diff --git a/Combinatorial_map/include/CGAL/Cell_iterators.h b/Combinatorial_map/include/CGAL/Cell_iterators.h index ad7d846ce9e..b54c12bf0c0 100644 --- a/Combinatorial_map/include/CGAL/Cell_iterators.h +++ b/Combinatorial_map/include/CGAL/Cell_iterators.h @@ -15,7 +15,7 @@ #include #include -#include +#include // TODO do all the orbit iterator of any orbit ? @@ -82,7 +82,7 @@ namespace CGAL { Ite(amap, adart, amap.get_new_mark()), mcell_mark_number(amap.get_new_mark()) { - CGAL_static_assertion( (boost::is_same::value) ); CGAL_assertion(amap.is_whole_map_unmarked(mcell_mark_number)); @@ -196,7 +196,7 @@ namespace CGAL { Ite(amap, adart), mmark_number(amap.get_new_mark()) { - CGAL_static_assertion( (boost::is_same::value) ); CGAL_assertion(amap.is_whole_map_unmarked(mmark_number)); mark_cell(amap, adart, mmark_number); @@ -303,7 +303,7 @@ namespace CGAL { Base(amap), mmark_number(amap.get_new_mark()) { - CGAL_static_assertion( (boost::is_same::value) ); CGAL_assertion(amap.is_whole_map_unmarked(mmark_number)); mark_cell(amap, (*this), mmark_number); diff --git a/Combinatorial_map/include/CGAL/Combinatorial_map.h b/Combinatorial_map/include/CGAL/Combinatorial_map.h index ad05ae2724c..fa13fbe6d6c 100644 --- a/Combinatorial_map/include/CGAL/Combinatorial_map.h +++ b/Combinatorial_map/include/CGAL/Combinatorial_map.h @@ -40,8 +40,8 @@ #include #include #include +#include #include -#include #include #include @@ -1524,7 +1524,7 @@ namespace CGAL { template < class Ite > std::ostream& display_orbits(std::ostream & aos) const { - CGAL_static_assertion( (boost::is_same::value) ); unsigned int nb = 0; size_type amark = get_new_mark(); diff --git a/Combinatorial_map/include/CGAL/Combinatorial_map/internal/Combinatorial_map_utility.h b/Combinatorial_map/include/CGAL/Combinatorial_map/internal/Combinatorial_map_utility.h index a56ab368875..542b5ab176a 100644 --- a/Combinatorial_map/include/CGAL/Combinatorial_map/internal/Combinatorial_map_utility.h +++ b/Combinatorial_map/include/CGAL/Combinatorial_map/internal/Combinatorial_map_utility.h @@ -17,8 +17,8 @@ #include #include #include +#include -#include #include #include @@ -172,8 +172,8 @@ namespace CGAL ,dim>::pos - 1; static const int value = - ( pos==k ) ? ( boost::is_same::value ? 0:-dim-1 ) - : ( ( pos::value ? 1:0 ) + ( pos==k ) ? ( std::is_same::value ? 0:-dim-1 ) + : ( ( pos::value ? 1:0 ) + Nb_type_in_tuple_up_to_k ,dim >::value) @@ -186,7 +186,7 @@ namespace CGAL { static const int pos=dim; static const int value=(pos==k? - (boost::is_same::value?0:-dim-1) : + (std::is_same::value?0:-dim-1) : 0); }; @@ -205,8 +205,8 @@ namespace CGAL ,dim >::pos - 1; static const int value = - ( pos==k ) ? ( boost::is_same::value ? -dim-1 : 0 ) - : ( ( pos::value ? 0:1 ) + ( pos==k ) ? ( std::is_same::value ? -dim-1 : 0 ) + : ( ( pos::value ? 0:1 ) + Nb_type_different_in_tuple_up_to_k ,dim >::value) :0 @@ -219,7 +219,7 @@ namespace CGAL { static const int pos=dim; static const int value=(pos==k? - (boost::is_same::value?-dim-1:0) : + (std::is_same::value?-dim-1:0) : 0); }; diff --git a/Combinatorial_map/include/CGAL/Combinatorial_map_basic_operations.h b/Combinatorial_map/include/CGAL/Combinatorial_map_basic_operations.h index 266b7c4bc83..b7974062ae0 100644 --- a/Combinatorial_map/include/CGAL/Combinatorial_map_basic_operations.h +++ b/Combinatorial_map/include/CGAL/Combinatorial_map_basic_operations.h @@ -15,7 +15,7 @@ #include #include -#include +#include namespace CGAL { @@ -34,7 +34,7 @@ namespace CGAL typename Map::Dart_const_descriptor adart1, typename Map::Dart_const_descriptor adart2) { - CGAL_static_assertion( (boost::is_same::value) ); bool found=false; @@ -57,7 +57,7 @@ namespace CGAL typename Map::Dart_const_descriptor adart, typename Map::size_type amark) { - CGAL_static_assertion( (boost::is_same::value) ); bool res=true; @@ -98,7 +98,7 @@ namespace CGAL typename Map::Dart_const_descriptor adart, typename Map::size_type amark) { - CGAL_static_assertion( (boost::is_same::value) ); CGAL_assertion( (is_whole_orbit_unmarked > @@ -305,7 +305,7 @@ namespace CGAL typename Map::size_type amark, typename Map::size_type amark2=Map::INVALID_MARK) { - CGAL_static_assertion( (boost::is_same::value) ); CGAL_assertion( (is_whole_orbit_unmarked > diff --git a/Combinatorial_map/include/CGAL/Combinatorial_map_iterators_base.h b/Combinatorial_map/include/CGAL/Combinatorial_map_iterators_base.h index 828bac5819f..eeb2c40b146 100644 --- a/Combinatorial_map/include/CGAL/Combinatorial_map_iterators_base.h +++ b/Combinatorial_map/include/CGAL/Combinatorial_map_iterators_base.h @@ -19,7 +19,8 @@ #include #include -#include + +#include namespace CGAL { @@ -305,7 +306,7 @@ namespace CGAL { typedef typename Map::size_type size_type; CGAL_static_assertion( (Bi<=Map::dimension && - boost::is_same::value) ); + std::is_same::value) ); public: /// Main constructor. @@ -492,7 +493,7 @@ namespace CGAL { typedef typename Map::size_type size_type; - CGAL_static_assertion( (boost::is_same::value) ); /// Main constructor. @@ -578,7 +579,7 @@ namespace CGAL { /// True iff this iterator is basic typedef Tag_false Basic_iterator; - CGAL_static_assertion( (boost::is_same::value) ); /// Main constructor. diff --git a/Convex_hull_3/include/CGAL/convex_hull_3.h b/Convex_hull_3/include/CGAL/convex_hull_3.h index 14ce7ff15c8..46d2082ab0b 100644 --- a/Convex_hull_3/include/CGAL/convex_hull_3.h +++ b/Convex_hull_3/include/CGAL/convex_hull_3.h @@ -40,14 +40,15 @@ #include #include #include -#include +#include #include #include -#include #include #include +#include + #ifndef CGAL_CH_NO_POSTCONDITIONS #include #endif // CGAL_CH_NO_POSTCONDITIONS @@ -181,7 +182,7 @@ struct Is_cartesian_kernel< Convex_hull_traits_3 { // Rational here is that Tag_true can only be passed by us since it is not documented // so we can assume that Kernel is a CGAL Kernel - typedef typename boost::is_same::type type; + typedef typename std::is_same::type type; }; // Predicate internally used as a wrapper around has_on_positive_side @@ -1052,7 +1053,7 @@ template void convex_hull_3(InputIterator first, InputIterator beyond, PolygonMesh& polyhedron, // workaround to avoid ambiguity with next overload. - typename std::enable_if::value>::type* = 0) + std::enable_if_t::value>* = 0) { typedef typename std::iterator_traits::value_type Point_3; typedef typename Convex_hull_3::internal::Default_traits_for_Chull_3::type Traits; @@ -1083,9 +1084,9 @@ template void convex_hull_3(InputIterator first, InputIterator beyond, PointRange& vertices, TriangleRange& faces, - typename std::enable_if::value>::type* = 0, - typename std::enable_if::value>::type* = 0, - typename std::enable_if::value>::type* = 0) + std::enable_if_t::value>* = 0, + std::enable_if_t::value>* = 0, + std::enable_if_t::value>* = 0) { typedef typename std::iterator_traits::value_type Point_3; typedef typename Kernel_traits::type Traits; @@ -1100,9 +1101,9 @@ void convex_hull_3(InputIterator first, InputIterator beyond, PointRange& vertices, TriangleRange& faces, const Traits& traits, - typename std::enable_if::value>::type* = 0, - typename std::enable_if::value>::type* = 0, - typename std::enable_if::value>::type* = 0) + std::enable_if_t::value>* = 0, + std::enable_if_t::value>* = 0, + std::enable_if_t::value>* = 0) { Convex_hull_3::internal::Indexed_triangle_set its(vertices,faces); convex_hull_3(first, beyond, its, traits); diff --git a/Convex_hull_3/test/Convex_hull_3/quick_hull_default_traits.cpp b/Convex_hull_3/test/Convex_hull_3/quick_hull_default_traits.cpp index 1ae001fc693..d1bca0f468f 100644 --- a/Convex_hull_3/test/Convex_hull_3/quick_hull_default_traits.cpp +++ b/Convex_hull_3/test/Convex_hull_3/quick_hull_default_traits.cpp @@ -23,12 +23,12 @@ using namespace CGAL::Convex_hull_3::internal; int main() { - CGAL_static_assertion( (boost::is_same::type>::value) ); - CGAL_static_assertion( (boost::is_same::type>::value) ); - CGAL_static_assertion( (boost::is_same::type>::value) ); - CGAL_static_assertion( (boost::is_same::type>::value) ); - CGAL_static_assertion( (boost::is_same::type>::value) ); - CGAL_static_assertion( (boost::is_same,Default_traits_for_Chull_3::type>::value) ); - CGAL_static_assertion( (boost::is_same, boost::true_type >::Protector,CGAL::Protect_FPU_rounding >::value) ); + CGAL_static_assertion( (std::is_same::type>::value) ); + CGAL_static_assertion( (std::is_same::type>::value) ); + CGAL_static_assertion( (std::is_same::type>::value) ); + CGAL_static_assertion( (std::is_same::type>::value) ); + CGAL_static_assertion( (std::is_same::type>::value) ); + CGAL_static_assertion( (std::is_same,Default_traits_for_Chull_3::type>::value) ); + CGAL_static_assertion( (std::is_same, boost::true_type >::Protector,CGAL::Protect_FPU_rounding >::value) ); return 0; } diff --git a/Filtered_kernel/include/CGAL/Lazy.h b/Filtered_kernel/include/CGAL/Lazy.h index 463ef501b34..790d9fd2f15 100644 --- a/Filtered_kernel/include/CGAL/Lazy.h +++ b/Filtered_kernel/include/CGAL/Lazy.h @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include #include diff --git a/Filtered_kernel/include/CGAL/Lazy_kernel.h b/Filtered_kernel/include/CGAL/Lazy_kernel.h index b0d0f9707b8..c88f93e3acf 100644 --- a/Filtered_kernel/include/CGAL/Lazy_kernel.h +++ b/Filtered_kernel/include/CGAL/Lazy_kernel.h @@ -191,18 +191,18 @@ private: template struct Lazy_wrapper_traits : boost::mpl::eval_if< internal::Has_result_type, - boost::mpl::eval_if< boost::is_same< typename boost::remove_cv< - typename boost::remove_reference< - typename internal::Lazy_result_type::type + boost::mpl::eval_if< std::is_same< typename boost::remove_cv< + typename boost::remove_reference< + typename internal::Lazy_result_type::type >::type >::type, - typename Approximate_kernel::FT>, + typename Approximate_kernel::FT>, boost::mpl::int_, - boost::mpl::eval_if< boost::is_same< typename internal::Lazy_result_type::type, + boost::mpl::eval_if< std::is_same< typename internal::Lazy_result_type::type, CGAL::Object >, boost::mpl::int_, boost::mpl::eval_if< boost::mpl::or_< - boost::is_same< typename internal::Lazy_result_type::type, CGAL::Bbox_2 >, - boost::is_same< typename internal::Lazy_result_type::type, CGAL::Bbox_3 > >, + std::is_same< typename internal::Lazy_result_type::type, CGAL::Bbox_2 >, + std::is_same< typename internal::Lazy_result_type::type, CGAL::Bbox_3 > >, boost::mpl::int_, boost::mpl::int_ > > >, boost::mpl::int_ >::type {}; diff --git a/Generalized_map/include/CGAL/GMap_cell_iterators.h b/Generalized_map/include/CGAL/GMap_cell_iterators.h index 671e3a3b12d..a3851f2c297 100644 --- a/Generalized_map/include/CGAL/GMap_cell_iterators.h +++ b/Generalized_map/include/CGAL/GMap_cell_iterators.h @@ -70,7 +70,7 @@ namespace CGAL { Base(amap), mmark_number(amap.get_new_mark()) { - CGAL_static_assertion( (boost::is_same::value) ); CGAL_assertion(amap.is_whole_map_unmarked(mmark_number)); mark_cell(amap, (*this), mmark_number); @@ -183,7 +183,7 @@ namespace CGAL { Base(amap), mmark_number(amap.get_new_mark()) { - CGAL_static_assertion( (boost::is_same::value) ); CGAL_assertion(amap.is_whole_map_unmarked(mmark_number)); mark_cell(amap, (*this), mmark_number); diff --git a/Generalized_map/include/CGAL/Generalized_map.h b/Generalized_map/include/CGAL/Generalized_map.h index 3b06fe92c2a..6aa6b56045e 100644 --- a/Generalized_map/include/CGAL/Generalized_map.h +++ b/Generalized_map/include/CGAL/Generalized_map.h @@ -36,7 +36,7 @@ #include #include #include -#include +#include #include #if defined( __INTEL_COMPILER ) @@ -1347,7 +1347,7 @@ namespace CGAL { template < class Ite > std::ostream& display_orbits(std::ostream & aos) const { - CGAL_static_assertion( (boost::is_same::value) ); unsigned int nb = 0; size_type amark = get_new_mark(); diff --git a/Generalized_map/include/CGAL/Generalized_map_iterators_base.h b/Generalized_map/include/CGAL/Generalized_map_iterators_base.h index 9cb85761b87..15f5bb484bf 100644 --- a/Generalized_map/include/CGAL/Generalized_map_iterators_base.h +++ b/Generalized_map/include/CGAL/Generalized_map_iterators_base.h @@ -18,8 +18,8 @@ // Other includes #include #include +#include #include -#include namespace CGAL { @@ -60,7 +60,7 @@ namespace CGAL { typedef Tag_true Use_mark; CGAL_static_assertion( (Ai<=Map::dimension && - boost::is_same::value) ); + std::is_same::value) ); public: /// Main constructor. diff --git a/Heat_method_3/include/CGAL/Heat_method_3/Surface_mesh_geodesic_distances_3.h b/Heat_method_3/include/CGAL/Heat_method_3/Surface_mesh_geodesic_distances_3.h index fd38855d2d5..73d369695b1 100644 --- a/Heat_method_3/include/CGAL/Heat_method_3/Surface_mesh_geodesic_distances_3.h +++ b/Heat_method_3/include/CGAL/Heat_method_3/Surface_mesh_geodesic_distances_3.h @@ -968,9 +968,9 @@ estimate_geodesic_distances(const TriangleMesh& tm, const VertexConstRange& sources, Mode #ifndef DOXYGEN_RUNNING - , typename boost::enable_if< - typename boost::has_range_const_iterator - >::type* = 0 + , std::enable_if_t< + boost::has_range_const_iterator::value + >* = 0 #endif ) { @@ -985,9 +985,9 @@ void estimate_geodesic_distances(const TriangleMesh& tm, VertexDistanceMap vdm, const VertexConstRange& sources, - typename boost::enable_if< - typename boost::has_range_const_iterator - >::type* = 0) + std::enable_if_t< + boost::has_range_const_iterator::value + >* = 0) { CGAL::Heat_method_3::Surface_mesh_geodesic_distances_3 hm(tm); hm.add_sources(sources); diff --git a/Homogeneous_kernel/include/CGAL/Homogeneous/PointH2.h b/Homogeneous_kernel/include/CGAL/Homogeneous/PointH2.h index c33b6e50cc4..1c7340d4e60 100644 --- a/Homogeneous_kernel/include/CGAL/Homogeneous/PointH2.h +++ b/Homogeneous_kernel/include/CGAL/Homogeneous/PointH2.h @@ -18,11 +18,12 @@ #define CGAL_HOMOGENEOUS_POINT_2_H #include -#include #include #include #include +#include + namespace CGAL { template < class R_ > @@ -53,8 +54,8 @@ public: template < typename Tx, typename Ty > PointH2(const Tx & x, const Ty & y, - typename boost::enable_if< boost::mpl::and_, - boost::is_convertible > >::type* = 0) + std::enable_if_t< boost::mpl::and_, + boost::is_convertible >::value >* = 0) : base(x, y) {} PointH2(const FT& x, const FT& y) diff --git a/Homogeneous_kernel/include/CGAL/Homogeneous/PointH3.h b/Homogeneous_kernel/include/CGAL/Homogeneous/PointH3.h index f7255e80b35..8f6cb17a535 100644 --- a/Homogeneous_kernel/include/CGAL/Homogeneous/PointH3.h +++ b/Homogeneous_kernel/include/CGAL/Homogeneous/PointH3.h @@ -18,10 +18,11 @@ #define CGAL_HOMOGENEOUS_POINT_3_H #include -#include #include #include +#include + namespace CGAL { template < class R_ > @@ -51,9 +52,9 @@ public: template < typename Tx, typename Ty, typename Tz > PointH3(const Tx & x, const Ty & y, const Tz & z, - typename boost::enable_if< boost::mpl::and_< boost::mpl::and_< boost::is_convertible, + std::enable_if_t< boost::mpl::and_< boost::mpl::and_< boost::is_convertible, boost::is_convertible >, - boost::is_convertible > >::type* = 0) + boost::is_convertible >::value >* = 0) : base(x, y, z) {} PointH3(const FT& x, const FT& y, const FT& z) diff --git a/Homogeneous_kernel/include/CGAL/Homogeneous/VectorH2.h b/Homogeneous_kernel/include/CGAL/Homogeneous/VectorH2.h index 4c01fe4960f..5460f21e7ce 100644 --- a/Homogeneous_kernel/include/CGAL/Homogeneous/VectorH2.h +++ b/Homogeneous_kernel/include/CGAL/Homogeneous/VectorH2.h @@ -59,8 +59,8 @@ public: template < typename Tx, typename Ty > VectorH2(const Tx & x, const Ty & y, - typename boost::enable_if< boost::mpl::and_, - boost::is_convertible > >::type* = 0) + std::enable_if_t< boost::mpl::and_, + boost::is_convertible >::value >* = 0) : base(CGAL::make_array(x, y, RT(1))) {} VectorH2(const FT& x, const FT& y) diff --git a/Homogeneous_kernel/include/CGAL/Homogeneous/VectorH3.h b/Homogeneous_kernel/include/CGAL/Homogeneous/VectorH3.h index 4902275376c..544ffa96493 100644 --- a/Homogeneous_kernel/include/CGAL/Homogeneous/VectorH3.h +++ b/Homogeneous_kernel/include/CGAL/Homogeneous/VectorH3.h @@ -69,9 +69,9 @@ public: template < typename Tx, typename Ty, typename Tz > VectorH3(const Tx & x, const Ty & y, const Tz & z, - typename boost::enable_if< boost::mpl::and_< boost::mpl::and_< boost::is_convertible, + std::enable_if_t< boost::mpl::and_< boost::mpl::and_< boost::is_convertible, boost::is_convertible >, - boost::is_convertible > >::type* = 0) + boost::is_convertible >::value >* = 0) : base(CGAL::make_array(x, y, z, RT(1))) {} VectorH3(const FT& x, const FT& y, const FT& z) diff --git a/Homogeneous_kernel/include/CGAL/Homogeneous_converter.h b/Homogeneous_kernel/include/CGAL/Homogeneous_converter.h index 22edf4e3e18..95114909aa6 100644 --- a/Homogeneous_kernel/include/CGAL/Homogeneous_converter.h +++ b/Homogeneous_kernel/include/CGAL/Homogeneous_converter.h @@ -89,7 +89,7 @@ public: template T operator()(const T t, - typename std::enable_if::value>::type* = nullptr) const + std::enable_if_t::value>* = nullptr) const { return t; } diff --git a/Hyperbolic_triangulation_2/include/CGAL/Hyperbolic_Delaunay_triangulation_2.h b/Hyperbolic_triangulation_2/include/CGAL/Hyperbolic_Delaunay_triangulation_2.h index d9e890e031a..8e05bddc37c 100644 --- a/Hyperbolic_triangulation_2/include/CGAL/Hyperbolic_Delaunay_triangulation_2.h +++ b/Hyperbolic_triangulation_2/include/CGAL/Hyperbolic_Delaunay_triangulation_2.h @@ -437,9 +437,9 @@ public: #ifndef CGAL_TRIANGULATION_2_DONT_INSERT_RANGE_OF_POINTS_WITH_INFO template < class InputIterator > std::ptrdiff_t insert(InputIterator first, InputIterator last, - typename boost::enable_if< - boost::is_base_of::value_type> - >::type* = nullptr) + std::enable_if_t< + boost::is_base_of::value_type>::value + >* = nullptr) #else template < class InputIterator > std::ptrdiff_t insert(InputIterator first, InputIterator last) diff --git a/Interpolation/include/CGAL/natural_neighbor_coordinates_2.h b/Interpolation/include/CGAL/natural_neighbor_coordinates_2.h index 911df1da6de..da70606c4ac 100644 --- a/Interpolation/include/CGAL/natural_neighbor_coordinates_2.h +++ b/Interpolation/include/CGAL/natural_neighbor_coordinates_2.h @@ -17,14 +17,12 @@ #include #include -#include +#include #include #include #include #include -#include - #include #include #include @@ -255,9 +253,9 @@ natural_neighbor_coordinates_2(const Dt& dt, OutputIterator out, OutputFunctor fct, typename Dt::Face_handle start = CGAL_TYPENAME_DEFAULT_ARG Dt::Face_handle(), - typename boost::disable_if_c< - is_iterator::value - >::type* = 0) + std::enable_if_t< + !is_iterator::value + >* = 0) { CGAL_precondition(dt.dimension() == 2); diff --git a/Interpolation/include/CGAL/regular_neighbor_coordinates_2.h b/Interpolation/include/CGAL/regular_neighbor_coordinates_2.h index ce5c62c0b76..0e18ed8baaf 100644 --- a/Interpolation/include/CGAL/regular_neighbor_coordinates_2.h +++ b/Interpolation/include/CGAL/regular_neighbor_coordinates_2.h @@ -16,13 +16,12 @@ #include -#include +#include #include #include #include #include -#include #include #include @@ -30,6 +29,7 @@ #include #include #include +#include namespace CGAL { @@ -307,9 +307,9 @@ regular_neighbor_coordinates_2(const Rt& rt, OutputIterator out, OutputIteratorVorVertices vor_vertices, typename Rt::Face_handle start, - typename boost::enable_if_c< - is_iterator::value - >::type* = 0) + std::enable_if_t< + is_iterator::value + >* = 0) { // Same as above but without OutputFunctor. Default to extracting the point, for backward compatibility. typedef typename Rt::Geom_traits::FT FT; @@ -327,9 +327,9 @@ regular_neighbor_coordinates_2(const Rt& rt, OutputIterator out, OutputFunctor fct, typename Rt::Face_handle start, - typename boost::disable_if_c< - is_iterator::value - >::type* = 0) + std::enable_if_t< + !is_iterator::value + >* = 0) { return regular_neighbor_coordinates_2(rt, p, out, fct, Emptyset_iterator(), start); } @@ -342,10 +342,10 @@ regular_neighbor_coordinates_2(const Rt& rt, const typename Rt::Weighted_point& p, OutputIterator out, OutputFunctor fct, - typename boost::disable_if_c< - boost::is_convertible::value - >::type* = 0) + >* = 0) { return regular_neighbor_coordinates_2(rt, p, out, fct, typename Rt::Face_handle()); } @@ -424,9 +424,9 @@ regular_neighbor_coordinates_2(const Rt& rt, EdgeIterator hole_end, VertexIterator hidden_vertices_begin, VertexIterator hidden_vertices_end, - typename boost::disable_if_c< - is_iterator::value - >::type* = 0) + std::enable_if_t< + !is_iterator::value + >* = 0) { return regular_neighbor_coordinates_2(rt, p, out, fct, Emptyset_iterator(), hole_begin, hole_end, @@ -447,9 +447,9 @@ regular_neighbor_coordinates_2(const Rt& rt, EdgeIterator hole_end, VertexIterator hidden_vertices_begin, VertexIterator hidden_vertices_end, - typename boost::enable_if_c< - is_iterator::value - >::type* = 0) + std::enable_if_t< + is_iterator::value + >* = 0) { typedef typename Rt::Geom_traits::FT FT; typedef Interpolation::internal::Extract_point_in_pair OutputFunctor; diff --git a/Interpolation/include/CGAL/sibson_gradient_fitting.h b/Interpolation/include/CGAL/sibson_gradient_fitting.h index 0275078309d..074ca037afb 100644 --- a/Interpolation/include/CGAL/sibson_gradient_fitting.h +++ b/Interpolation/include/CGAL/sibson_gradient_fitting.h @@ -24,13 +24,11 @@ #include #include -#include #include #include #include #include - #include #include @@ -229,11 +227,11 @@ sibson_gradient_fitting_nn_2(const Dt& dt, const Traits& traits, // Some SFINAE to distinguish whether the argument type // of the value functor is 'DT::Point' or 'DT::Vertex_handle' - typename boost::enable_if_c< + std::enable_if_t< std::is_constructible< std::function, ValueFunctor - >::value>::type* = nullptr) + >::value>* = nullptr) { typedef typename Traits::FT FT; typedef typename Dt::Point VF_arg_type; @@ -255,11 +253,11 @@ sibson_gradient_fitting_nn_2(const Dt& dt, OutputFunctor fct, ValueFunctor value_function, const Traits& traits, - typename boost::enable_if_c< + std::enable_if_t< std::is_constructible< std::function, ValueFunctor - >::value>::type* = nullptr) + >::value>* = nullptr) { typedef typename Traits::FT FT; typedef typename Dt::Vertex_handle VF_arg_type; @@ -299,11 +297,11 @@ sibson_gradient_fitting_rn_2(const Rt& rt, const Traits& traits, // Some SFINAE to distinguish whether the argument type // of the value functor is 'Rt::Point' (weighted point) or 'Rt::Vertex_handle' - typename boost::enable_if_c< + std::enable_if_t< std::is_constructible< std::function, ValueFunctor - >::value>::type* = nullptr) + >::value>* = nullptr) { typedef typename Traits::FT FT; typedef typename Rt::Point VF_arg_type; @@ -325,11 +323,11 @@ sibson_gradient_fitting_rn_2(const Rt& rt, OutputFunctor fct, ValueFunctor value_function, const Traits& traits, - typename boost::enable_if_c< + std::enable_if_t< std::is_constructible< std::function, ValueFunctor - >::value>::type* = nullptr) + >::value>* = nullptr) { typedef typename Traits::FT FT; typedef typename Rt::Vertex_handle VF_arg_type; diff --git a/Intersections_2/include/CGAL/Intersection_traits.h b/Intersections_2/include/CGAL/Intersection_traits.h index 96c28e8e899..6f0f260a594 100644 --- a/Intersections_2/include/CGAL/Intersection_traits.h +++ b/Intersections_2/include/CGAL/Intersection_traits.h @@ -18,9 +18,10 @@ #include #include -#include #include +#include + #define CGAL_INTERSECTION_TRAITS_2(A, B, R1, R2) \ template \ struct Intersection_traits { \ @@ -180,7 +181,7 @@ do_intersect_impl(const A& a, const B& b, Dynamic_dimension_tag) { // inline // typename Intersection_traits< typename Kernel_traits::Kernel, A, B>::result_type >::type // intersection(const A& a, const B& b) { -// CGAL_static_assertion_msg( (boost::is_same::value), +// CGAL_static_assertion_msg( (std::is_same::value), // "intersection with objects of different dimensions not supported"); // return internal::intersection_impl(a, b, typename A::Ambient_dimension()); // } @@ -189,7 +190,7 @@ do_intersect_impl(const A& a, const B& b, Dynamic_dimension_tag) { // inline // bool // do_intersect(const A& a, const B& b) { -// CGAL_static_assertion_msg((boost::is_same::value), +// CGAL_static_assertion_msg((std::is_same::value), // "do_intersect with objects of different dimensions not supported"); // return internal::do_intersect_impl(a, b, typename A::Ambient_dimension()); // } diff --git a/Intersections_3/include/CGAL/Intersections_3/internal/Bbox_3_Segment_3_do_intersect.h b/Intersections_3/include/CGAL/Intersections_3/internal/Bbox_3_Segment_3_do_intersect.h index 8819bdaa651..8a94ade50b7 100644 --- a/Intersections_3/include/CGAL/Intersections_3/internal/Bbox_3_Segment_3_do_intersect.h +++ b/Intersections_3/include/CGAL/Intersections_3/internal/Bbox_3_Segment_3_do_intersect.h @@ -20,7 +20,7 @@ #include #include -#include +#include // inspired from http://cag.csail.mit.edu/~amy/papers/box-jgt.pdf @@ -66,7 +66,7 @@ class Do_intersect_bbox_segment_aux_is_greater double dmax; public: - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); Do_intersect_bbox_segment_aux_is_greater() : error(0.), tmax(0.), dmax(0.) {} diff --git a/Interval_support/include/CGAL/Interval_traits.h b/Interval_support/include/CGAL/Interval_traits.h index 51772f8ea52..2ee459c48d7 100644 --- a/Interval_support/include/CGAL/Interval_traits.h +++ b/Interval_support/include/CGAL/Interval_traits.h @@ -45,8 +45,8 @@ #include #include -#include -#include + +#include namespace CGAL { @@ -75,6 +75,7 @@ public: typedef CGAL::Null_functor Proper_Subset; typedef CGAL::Null_functor Intersection; typedef CGAL::Null_functor Hull; + static constexpr bool is_interval_v = false; }; } @@ -192,9 +193,9 @@ proper_subset(Interval interval1, Interval interval2) { //(like Null_functor) template inline typename Interval_traits::Intersection::result_type -intersection(Interval interval1, Interval interval2, typename boost::enable_if< - typename Interval_traits::Is_interval - >::type* = nullptr +intersection(Interval interval1, Interval interval2, std::enable_if_t< + Interval_traits::is_interval_v + >* = nullptr ) { typename Interval_traits::Intersection intersection; return intersection(interval1, interval2); @@ -202,10 +203,10 @@ intersection(Interval interval1, Interval interval2, typename boost::enable_if< template inline typename Interval_traits::Hull::result_type -hull(Interval interval1, Interval interval2, typename boost::enable_if< - boost::is_same< +hull(Interval interval1, Interval interval2, std::enable_if_t< + std::is_same< typename Interval_traits::Is_interval, - Tag_true > >::type* = nullptr) + Tag_true >::value >* = nullptr) { typename Interval_traits::Hull hull; return hull(interval1, interval2); diff --git a/Interval_support/include/CGAL/Test/_test_bigfloat_interval_traits.h b/Interval_support/include/CGAL/Test/_test_bigfloat_interval_traits.h index 38cd7d88d18..11342ed5963 100644 --- a/Interval_support/include/CGAL/Test/_test_bigfloat_interval_traits.h +++ b/Interval_support/include/CGAL/Test/_test_bigfloat_interval_traits.h @@ -17,7 +17,6 @@ #include #include -#include #include #include @@ -25,6 +24,8 @@ #include +#include + #ifndef CGAL_TEST_BIGFLOAT_INTERVAL_TRAITS_H #define CGAL_TEST_BIGFLOAT_INTERVAL_TRAITS_H @@ -40,7 +41,7 @@ void test_bigfloat_interval_traits() { typedef typename BFIT::Is_bigfloat_interval Is_bigfloat_interval; CGAL_USE_TYPE(Is_bigfloat_interval); // using CGAL::Tag_true; - CGAL_static_assertion(( ::boost::is_same< Is_bigfloat_interval, CGAL::Tag_true>::value)); + CGAL_static_assertion(( ::std::is_same< Is_bigfloat_interval, CGAL::Tag_true>::value)); const typename BFIT::Construct construct = typename BFIT::Construct(); const typename BFIT::Set_precision set_precision = typename BFIT::Set_precision(); diff --git a/Interval_support/include/CGAL/Test/_test_convert_to_bfi.h b/Interval_support/include/CGAL/Test/_test_convert_to_bfi.h index 97c99916099..34e731dae1a 100644 --- a/Interval_support/include/CGAL/Test/_test_convert_to_bfi.h +++ b/Interval_support/include/CGAL/Test/_test_convert_to_bfi.h @@ -17,7 +17,6 @@ #include #include -#include #include #include @@ -26,6 +25,8 @@ #include #include +#include + #ifndef CGAL_TEST_CONVERT_TO_BFI_H #define CGAL_TEST_CONVERT_TO_BFI_H @@ -40,7 +41,7 @@ template void test_convert_to_bfi_from(BFI,From){ typedef typename CGAL::Coercion_traits::Type CT_type; CGAL_USE_TYPE(CT_type); - CGAL_static_assertion(( ::boost::is_same::value)); + CGAL_static_assertion(( ::std::is_same::value)); assert(CGAL::convert_to_bfi(From(0)) == BFI(0)); assert(CGAL::convert_to_bfi(From(1)) == BFI(1)); assert(CGAL::convert_to_bfi(From(2)) == BFI(2)); diff --git a/Interval_support/include/CGAL/Test/_test_interval_traits.h b/Interval_support/include/CGAL/Test/_test_interval_traits.h index a4105aa7de5..90c1658bf6e 100644 --- a/Interval_support/include/CGAL/Test/_test_interval_traits.h +++ b/Interval_support/include/CGAL/Test/_test_interval_traits.h @@ -17,7 +17,6 @@ #include #include -#include #include #include @@ -25,6 +24,7 @@ #include +#include #ifndef CGAL_TEST_INTERVAL_TRAITS_H #define CGAL_TEST_INTERVAL_TRAITS_H @@ -37,7 +37,7 @@ void test_with_empty_interval(CGAL::Tag_false) { typedef typename IT::Empty Empty; CGAL_USE_TYPE(Empty); CGAL_static_assertion( - (::boost::is_same< Empty, CGAL::Null_functor>::value)); + (::std::is_same< Empty, CGAL::Null_functor>::value)); // this part chages in case we allow empty intersection // which seems to be not possible for CORE::BigFloat as Interval @@ -74,8 +74,8 @@ void test_interval_traits() { typedef typename IT::With_empty_interval With_empty_interval; CGAL_USE_TYPE(Is_interval); using CGAL::Tag_true; - CGAL_static_assertion(( ::boost::is_same< Is_interval, Tag_true>::value)); - CGAL_static_assertion(( ::boost::is_same< Interval_, Interval>::value)); + CGAL_static_assertion(( ::std::is_same< Is_interval, Tag_true>::value)); + CGAL_static_assertion(( ::std::is_same< Interval_, Interval>::value)); test_with_empty_interval(With_empty_interval()); diff --git a/Kernel_23/include/CGAL/Circle_2.h b/Kernel_23/include/CGAL/Circle_2.h index d4f12d902d2..921a30d2206 100644 --- a/Kernel_23/include/CGAL/Circle_2.h +++ b/Kernel_23/include/CGAL/Circle_2.h @@ -19,7 +19,6 @@ #define CGAL_CIRCLE_2_H #include -#include #include #include #include @@ -36,7 +35,7 @@ class Circle_2 : public R_::Kernel_base::Circle_2 typedef typename R_::Aff_transformation_2 Aff_transformation_2; typedef Circle_2 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Circle_3.h b/Kernel_23/include/CGAL/Circle_3.h index 68100e16599..3030977c225 100644 --- a/Kernel_23/include/CGAL/Circle_3.h +++ b/Kernel_23/include/CGAL/Circle_3.h @@ -23,7 +23,6 @@ #define CGAL_CIRCLE_3_H #include -#include #include #include #include @@ -44,7 +43,7 @@ template typedef typename R_::Direction_3 Direction_3; typedef Circle_3 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Direction_2.h b/Kernel_23/include/CGAL/Direction_2.h index ddc28d98015..e3478708354 100644 --- a/Kernel_23/include/CGAL/Direction_2.h +++ b/Kernel_23/include/CGAL/Direction_2.h @@ -18,7 +18,6 @@ #define CGAL_DIRECTION_2_H #include -#include #include #include #include @@ -39,7 +38,7 @@ class Direction_2 : public R_::Kernel_base::Direction_2 typedef typename R_::Kernel_base::Direction_2 RDirection_2; typedef Direction_2 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Direction_3.h b/Kernel_23/include/CGAL/Direction_3.h index eb11081406d..6e0eb4930ab 100644 --- a/Kernel_23/include/CGAL/Direction_3.h +++ b/Kernel_23/include/CGAL/Direction_3.h @@ -18,7 +18,6 @@ #define CGAL_DIRECTION_3_H #include -#include #include #include #include @@ -38,7 +37,7 @@ class Direction_3 : public R_::Kernel_base::Direction_3 typedef typename R_::Aff_transformation_3 Aff_transformation_3; typedef Direction_3 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Has_conversion.h b/Kernel_23/include/CGAL/Has_conversion.h index 40e17a0a2e9..8e500c916d2 100644 --- a/Kernel_23/include/CGAL/Has_conversion.h +++ b/Kernel_23/include/CGAL/Has_conversion.h @@ -23,7 +23,7 @@ namespace internal { template struct Converter_selector { - CGAL_static_assertion_msg((boost::is_same::value), "Kernels must have the same representation"); @@ -33,7 +33,7 @@ struct Converter_selector template struct Converter_selector { - CGAL_static_assertion_msg((boost::is_same::value), "Kernels must have the same representation"); diff --git a/Kernel_23/include/CGAL/Iso_cuboid_3.h b/Kernel_23/include/CGAL/Iso_cuboid_3.h index 6a004ca5ce1..a78404b8db0 100644 --- a/Kernel_23/include/CGAL/Iso_cuboid_3.h +++ b/Kernel_23/include/CGAL/Iso_cuboid_3.h @@ -18,11 +18,12 @@ #define CGAL_ISO_CUBOID_3_H #include -#include #include #include #include +#include + namespace CGAL { template @@ -33,7 +34,7 @@ class Iso_cuboid_3 : public R_::Kernel_base::Iso_cuboid_3 typedef typename R_::Aff_transformation_3 Aff_transformation_3; typedef Iso_cuboid_3 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Iso_rectangle_2.h b/Kernel_23/include/CGAL/Iso_rectangle_2.h index 5929236e1a1..49d2a03b6c3 100644 --- a/Kernel_23/include/CGAL/Iso_rectangle_2.h +++ b/Kernel_23/include/CGAL/Iso_rectangle_2.h @@ -18,7 +18,6 @@ #define CGAL_ISO_RECTANGLE_2_H #include -#include #include #include #include @@ -34,7 +33,7 @@ class Iso_rectangle_2 : public R_::Kernel_base::Iso_rectangle_2 typedef typename R_::Aff_transformation_2 Aff_transformation_2; typedef Iso_rectangle_2 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Kernel/global_functions_internal_2.h b/Kernel_23/include/CGAL/Kernel/global_functions_internal_2.h index 53d60ca990d..7212eb7ed60 100644 --- a/Kernel_23/include/CGAL/Kernel/global_functions_internal_2.h +++ b/Kernel_23/include/CGAL/Kernel/global_functions_internal_2.h @@ -24,11 +24,12 @@ #include #include -#include #include "boost/mpl/equal_to.hpp" #include #include +#include + namespace CGAL { namespace internal { @@ -273,12 +274,11 @@ compare_angle_with_x_axis(const typename K::Direction_2& d1, template inline -typename boost::enable_if< +std::enable_if_t< boost::mpl::equal_to::type::value>, - boost::mpl::integral_c >, + boost::mpl::integral_c >::value, typename K::Comparison_result> -::type compare_distance(const T1 &o1, const T2 &o2, const T3 &o3, const K& k) @@ -288,12 +288,11 @@ compare_distance(const T1 &o1, template inline -typename boost::enable_if< +std::enable_if_t< boost::mpl::equal_to::type::value>, - boost::mpl::integral_c >, + boost::mpl::integral_c >::value, typename K::Comparison_result> -::type compare_distance(const T1 &o1, const T2 &o2, const T3 &o3, diff --git a/Kernel_23/include/CGAL/Kernel/global_functions_internal_3.h b/Kernel_23/include/CGAL/Kernel/global_functions_internal_3.h index 8beb0d396d5..1ce5f497d68 100644 --- a/Kernel_23/include/CGAL/Kernel/global_functions_internal_3.h +++ b/Kernel_23/include/CGAL/Kernel/global_functions_internal_3.h @@ -22,9 +22,9 @@ #include #include -#include #include #include +#include namespace CGAL { @@ -379,12 +379,11 @@ compare_dihedral_angle(const typename K::Vector_3& ab1, template inline -typename boost::enable_if< +std::enable_if_t< boost::mpl::equal_to::type::value>, - boost::mpl::integral_c >, + boost::mpl::integral_c >::value, typename K::Comparison_result> -::type // boost::mpl::equal_to::type, // boost::mpl::int_<3> >, // typename K::Comparison_result>::type @@ -397,12 +396,11 @@ compare_distance(const T1 &o1, template inline -typename boost::enable_if< +std::enable_if_t< boost::mpl::equal_to::type::value>, - boost::mpl::integral_c >, + boost::mpl::integral_c >::value, typename K::Comparison_result> -::type // boost::mpl::equal_to::type, // boost::mpl::int_<3> >, // typename K::Comparison_result>::type diff --git a/Kernel_23/include/CGAL/Line_2.h b/Kernel_23/include/CGAL/Line_2.h index fa5dab19f10..528740a01a9 100644 --- a/Kernel_23/include/CGAL/Line_2.h +++ b/Kernel_23/include/CGAL/Line_2.h @@ -18,12 +18,13 @@ #define CGAL_LINE_2_H #include -#include #include #include #include #include +#include + namespace CGAL { template @@ -40,7 +41,7 @@ class Line_2 : public R_::Kernel_base::Line_2 typedef typename R_::Kernel_base::Line_2 RLine_2; typedef Line_2 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Line_3.h b/Kernel_23/include/CGAL/Line_3.h index 19c5e34ae9d..929d658cdc7 100644 --- a/Kernel_23/include/CGAL/Line_3.h +++ b/Kernel_23/include/CGAL/Line_3.h @@ -19,7 +19,6 @@ #define CGAL_LINE_3_H #include -#include #include #include #include @@ -39,7 +38,7 @@ class Line_3 : public R_::Kernel_base::Line_3 typedef typename R_::Aff_transformation_3 Aff_transformation_3; typedef Line_3 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Plane_3.h b/Kernel_23/include/CGAL/Plane_3.h index 9da820ba47f..7823c98065c 100644 --- a/Kernel_23/include/CGAL/Plane_3.h +++ b/Kernel_23/include/CGAL/Plane_3.h @@ -18,11 +18,12 @@ #define CGAL_PLANE_3_H #include -#include #include #include #include +#include + namespace CGAL { template @@ -40,7 +41,7 @@ class Plane_3 : public R_::Kernel_base::Plane_3 typedef typename R_::Aff_transformation_3 Aff_transformation_3; typedef Plane_3 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Point_2.h b/Kernel_23/include/CGAL/Point_2.h index 55cc494d530..87728264781 100644 --- a/Kernel_23/include/CGAL/Point_2.h +++ b/Kernel_23/include/CGAL/Point_2.h @@ -20,11 +20,12 @@ #include #include #include -#include #include #include #include +#include + namespace CGAL { template @@ -36,7 +37,7 @@ class Point_2 : public R_::Kernel_base::Point_2 typedef typename R_::Kernel_base::Point_2 RPoint_2; typedef Point_2 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Point_3.h b/Kernel_23/include/CGAL/Point_3.h index ba5828e25dc..03d00f78f3f 100644 --- a/Kernel_23/include/CGAL/Point_3.h +++ b/Kernel_23/include/CGAL/Point_3.h @@ -20,7 +20,6 @@ #include #include #include -#include #include #include #include @@ -35,7 +34,7 @@ class Point_3 : public R_::Kernel_base::Point_3 typedef typename R_::Aff_transformation_3 Aff_transformation_3; typedef Point_3 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Ray_2.h b/Kernel_23/include/CGAL/Ray_2.h index 22725a5014f..d9dae50482e 100644 --- a/Kernel_23/include/CGAL/Ray_2.h +++ b/Kernel_23/include/CGAL/Ray_2.h @@ -18,13 +18,14 @@ #define CGAL_RAY_2_H #include -#include #include #include #include #include #include +#include + namespace CGAL { template @@ -41,7 +42,7 @@ class Ray_2 : public R_::Kernel_base::Ray_2 typedef typename R_::Kernel_base::Ray_2 RRay_2; typedef Ray_2 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Ray_3.h b/Kernel_23/include/CGAL/Ray_3.h index 2fc9fa40b69..b35ae5e78a9 100644 --- a/Kernel_23/include/CGAL/Ray_3.h +++ b/Kernel_23/include/CGAL/Ray_3.h @@ -18,7 +18,6 @@ #define CGAL_RAY_3_H #include -#include #include #include #include @@ -37,7 +36,7 @@ class Ray_3 : public R_::Kernel_base::Ray_3 typedef typename R_::Aff_transformation_3 Aff_transformation_3; typedef Ray_3 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Segment_2.h b/Kernel_23/include/CGAL/Segment_2.h index a40f769ecf6..6209c3a8139 100644 --- a/Kernel_23/include/CGAL/Segment_2.h +++ b/Kernel_23/include/CGAL/Segment_2.h @@ -18,12 +18,13 @@ #define CGAL_SEGMENT_2_H #include -#include #include #include #include #include +#include + namespace CGAL { template @@ -39,7 +40,7 @@ class Segment_2 : public R_::Kernel_base::Segment_2 typedef typename R_::Kernel_base::Segment_2 RSegment_2; typedef Segment_2 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Segment_3.h b/Kernel_23/include/CGAL/Segment_3.h index 037719a5e1c..7023f5fe3fe 100644 --- a/Kernel_23/include/CGAL/Segment_3.h +++ b/Kernel_23/include/CGAL/Segment_3.h @@ -18,7 +18,6 @@ #define CGAL_SEGMENT_3_H #include -#include #include #include #include @@ -39,7 +38,7 @@ class Segment_3 : public R_::Kernel_base::Segment_3 typedef typename R_::Aff_transformation_3 Aff_transformation_3; typedef Segment_3 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Sphere_3.h b/Kernel_23/include/CGAL/Sphere_3.h index 128bf1da9c5..310303fed64 100644 --- a/Kernel_23/include/CGAL/Sphere_3.h +++ b/Kernel_23/include/CGAL/Sphere_3.h @@ -18,12 +18,13 @@ #define CGAL_SPHERE_3_H #include -#include #include #include #include #include +#include + namespace CGAL { template @@ -36,7 +37,7 @@ class Sphere_3 : public R_::Kernel_base::Sphere_3 typedef typename R_::Aff_transformation_3 Aff_transformation_3; typedef Sphere_3 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Tetrahedron_3.h b/Kernel_23/include/CGAL/Tetrahedron_3.h index a402ca0e908..a8768746f58 100644 --- a/Kernel_23/include/CGAL/Tetrahedron_3.h +++ b/Kernel_23/include/CGAL/Tetrahedron_3.h @@ -18,11 +18,12 @@ #define CGAL_TETRAHEDRON_3_H #include -#include #include #include #include +#include + namespace CGAL { template @@ -32,7 +33,7 @@ class Tetrahedron_3 : public R_::Kernel_base::Tetrahedron_3 typedef typename R_::Aff_transformation_3 Aff_transformation_3; typedef Tetrahedron_3 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Triangle_2.h b/Kernel_23/include/CGAL/Triangle_2.h index 2b7d6b5a0aa..cf35524a6a4 100644 --- a/Kernel_23/include/CGAL/Triangle_2.h +++ b/Kernel_23/include/CGAL/Triangle_2.h @@ -18,12 +18,13 @@ #define CGAL_TRIANGLE_2_H #include -#include #include #include #include #include +#include + namespace CGAL { template @@ -34,7 +35,7 @@ class Triangle_2 : public R_::Kernel_base::Triangle_2 typedef typename R_::Kernel_base::Triangle_2 RTriangle_2; typedef Triangle_2 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Triangle_3.h b/Kernel_23/include/CGAL/Triangle_3.h index a1e2348e165..1496121d9fe 100644 --- a/Kernel_23/include/CGAL/Triangle_3.h +++ b/Kernel_23/include/CGAL/Triangle_3.h @@ -18,11 +18,12 @@ #define CGAL_TRIANGLE_3_H #include -#include #include #include #include +#include + namespace CGAL { template @@ -35,7 +36,7 @@ class Triangle_3 : public R_::Kernel_base::Triangle_3 typedef typename R_::Aff_transformation_3 Aff_transformation_3; typedef Triangle_3 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Vector_2.h b/Kernel_23/include/CGAL/Vector_2.h index 81d6f63a3c1..6e62f77fa5d 100644 --- a/Kernel_23/include/CGAL/Vector_2.h +++ b/Kernel_23/include/CGAL/Vector_2.h @@ -20,7 +20,6 @@ #include #include #include -#include #include #include #include @@ -43,7 +42,7 @@ class Vector_2 : public R_::Kernel_base::Vector_2 typedef typename R_::Kernel_base::Vector_2 RVector_2; typedef Vector_2 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Vector_3.h b/Kernel_23/include/CGAL/Vector_3.h index de005e34498..f81aee480f4 100644 --- a/Kernel_23/include/CGAL/Vector_3.h +++ b/Kernel_23/include/CGAL/Vector_3.h @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include @@ -43,7 +42,7 @@ class Vector_3 : public R_::Kernel_base::Vector_3 typedef typename R_::Aff_transformation_3 Aff_transformation_3; typedef Vector_3 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/include/CGAL/Weighted_point_2.h b/Kernel_23/include/CGAL/Weighted_point_2.h index bf2accb8b37..ea4364644a8 100644 --- a/Kernel_23/include/CGAL/Weighted_point_2.h +++ b/Kernel_23/include/CGAL/Weighted_point_2.h @@ -20,7 +20,6 @@ #include #include #include -#include #include #include #include @@ -35,7 +34,7 @@ class Weighted_point_2 : public R_::Kernel_base::Weighted_point_2 typedef typename R_::FT RT; typedef Weighted_point_2 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: typedef Dimension_tag<2> Ambient_dimension; diff --git a/Kernel_23/include/CGAL/Weighted_point_3.h b/Kernel_23/include/CGAL/Weighted_point_3.h index 094fefa2633..c57467fb17a 100644 --- a/Kernel_23/include/CGAL/Weighted_point_3.h +++ b/Kernel_23/include/CGAL/Weighted_point_3.h @@ -20,7 +20,6 @@ #include #include #include -#include #include #include #include @@ -35,7 +34,7 @@ class Weighted_point_3 : public R_::Kernel_base::Weighted_point_3 typedef typename R_::FT FT; typedef Weighted_point_3 Self; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); public: diff --git a/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_aff_transformation_2.h b/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_aff_transformation_2.h index ccdde6d298c..4db9a3f3baf 100644 --- a/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_aff_transformation_2.h +++ b/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_aff_transformation_2.h @@ -19,7 +19,6 @@ #define CGAL__TEST_CLS_AFF_TRANSFORMATION_2_H #include -#include template bool @@ -30,7 +29,7 @@ _test_cls_aff_transformation_2(const R& ) typedef typename R::RT RT; typedef typename R::FT FT; - const bool nonexact = boost::is_same::value; + const bool nonexact = std::is_same::value; typename R::Aff_transformation_2 ia; CGAL::Aff_transformation_2 a1(ia); diff --git a/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_aff_transformation_3.h b/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_aff_transformation_3.h index 3c0db87e36f..0bfa059fa06 100644 --- a/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_aff_transformation_3.h +++ b/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_aff_transformation_3.h @@ -19,7 +19,6 @@ #define CGAL__TEST_CLS_AFF_TRANSFORMATION_3_H #include -#include template bool @@ -29,7 +28,7 @@ _test_cls_aff_transformation_3(const R& ) typedef typename R::RT RT; typedef typename R::FT FT; - const bool nonexact = boost::is_same::value; + const bool nonexact = std::is_same::value; typename R::Aff_transformation_3 ia; CGAL::Aff_transformation_3 a1(ia); diff --git a/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_circle_2.h b/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_circle_2.h index 533003693b9..6f9a1fe7be4 100644 --- a/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_circle_2.h +++ b/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_circle_2.h @@ -21,8 +21,6 @@ #include #include -#include - template void _test_construct_radical_line(const K &k) { typedef typename K::FT FT; @@ -79,7 +77,7 @@ _test_cls_circle_2(const R& ) typename R::Circle_2 ic; CGAL::Circle_2 c0; - const bool nonexact = boost::is_same::value; + const bool nonexact = std::is_same::value; RT n0 = 0; RT n1 = 16; diff --git a/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_line_3.h b/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_line_3.h index 9ac5bb3d48b..10c97edda08 100644 --- a/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_line_3.h +++ b/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_line_3.h @@ -19,7 +19,6 @@ #define CGAL__TEST_CLS_LINE_3_H #include -#include template bool @@ -30,7 +29,7 @@ _test_cls_line_3(const R& ) typedef typename R::RT RT; typedef typename R::FT FT; - const bool nonexact = boost::is_same::value; + const bool nonexact = std::is_same::value; typename R::Line_3 il; CGAL::Line_3 l0( il ); CGAL_USE(l0); diff --git a/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_sphere_3.h b/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_sphere_3.h index 6884046d343..c71651a9439 100644 --- a/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_sphere_3.h +++ b/Kernel_23/test/Kernel_23/include/CGAL/_test_cls_sphere_3.h @@ -20,7 +20,6 @@ #include #include -#include template bool @@ -33,7 +32,7 @@ _test_cls_sphere_3(const R& ) typename R::Sphere_3 ic; CGAL::Sphere_3 c0; - const bool nonexact = boost::is_same::value; + const bool nonexact = std::is_same::value; RT n0 = 0; RT n1 = 16; RT n2 = -4; diff --git a/Kernel_23/test/Kernel_23/include/CGAL/_test_fct_point_3.h b/Kernel_23/test/Kernel_23/include/CGAL/_test_fct_point_3.h index a6861471676..41dbf0498ff 100644 --- a/Kernel_23/test/Kernel_23/include/CGAL/_test_fct_point_3.h +++ b/Kernel_23/test/Kernel_23/include/CGAL/_test_fct_point_3.h @@ -249,7 +249,7 @@ _test_fct_point_3(const R& ) { typedef ::CGAL::Algebraic_structure_traits AST; static const bool has_sqrt = - ! ::boost::is_same< ::CGAL::Null_functor, typename AST::Sqrt >::value; + ! ::std::is_same< ::CGAL::Null_functor, typename AST::Sqrt >::value; _test_fct_point_sqrt_3(R(), ::CGAL::Boolean_tag()); } std::cout << "done" << std::endl; diff --git a/Kernel_23/test/Kernel_23/include/CGAL/_test_fct_points_implicit_sphere.h b/Kernel_23/test/Kernel_23/include/CGAL/_test_fct_points_implicit_sphere.h index 9e7e1f339a0..137c092f1c7 100644 --- a/Kernel_23/test/Kernel_23/include/CGAL/_test_fct_points_implicit_sphere.h +++ b/Kernel_23/test/Kernel_23/include/CGAL/_test_fct_points_implicit_sphere.h @@ -18,8 +18,6 @@ #ifndef CGAL__TEST_FCT_POINTS_IMPLICIT_SPHERE_H #define CGAL__TEST_FCT_POINTS_IMPLICIT_SPHERE_H -#include - template bool _test_fct_points_implicit_sphere(const R&) @@ -28,7 +26,7 @@ _test_fct_points_implicit_sphere(const R&) typedef typename R::FT FT; typedef CGAL::Tetrahedron_3 Tetrahedron; - const bool nonexact = boost::is_same::value; + const bool nonexact = std::is_same::value; const RT RT0(0); const RT RT4(4); diff --git a/Kernel_23/test/Kernel_23/include/CGAL/_test_fct_weighted_point_3.h b/Kernel_23/test/Kernel_23/include/CGAL/_test_fct_weighted_point_3.h index 7629018da82..d0cb8d29da3 100644 --- a/Kernel_23/test/Kernel_23/include/CGAL/_test_fct_weighted_point_3.h +++ b/Kernel_23/test/Kernel_23/include/CGAL/_test_fct_weighted_point_3.h @@ -21,7 +21,6 @@ #include #include -#include #include #include @@ -32,7 +31,7 @@ _test_fct_weighted_point_3(const R& ) std::cout << "Testing functions Weighted_point_3" ; typedef typename R::RT RT; - const bool nonexact = boost::is_same::value; + const bool nonexact = std::is_same::value; CGAL::Point_3 p1(RT(18), RT(15), RT(-21), RT(3) ); // 6, 5, -7 CGAL::Point_3 p2(RT(18), RT(15), RT( 12), RT(3) ); // 6, 5, 4 diff --git a/Kernel_23/test/Kernel_23/include/CGAL/_test_further_fct_point_2.h b/Kernel_23/test/Kernel_23/include/CGAL/_test_further_fct_point_2.h index f7d669cf379..5439cdbd8a8 100644 --- a/Kernel_23/test/Kernel_23/include/CGAL/_test_further_fct_point_2.h +++ b/Kernel_23/test/Kernel_23/include/CGAL/_test_further_fct_point_2.h @@ -19,7 +19,6 @@ #define CGAL__TEST_FURTHER_FCT_POINT_2_H #include "_approx_equal.h" -#include template bool @@ -95,7 +94,7 @@ _test_further_fct_point_2(const R& ) using CGAL::testsuite::approx_equal; using CGAL::testsuite::Direction_2_tag; - const bool nonexact = boost::is_same::value; + const bool nonexact = std::is_same::value; assert( approx_equal((p5 - CGAL::ORIGIN).direction(), dir5, Direction_2_tag()) ); diff --git a/Kernel_23/test/Kernel_23/include/CGAL/_test_mf_plane_3_to_2d.h b/Kernel_23/test/Kernel_23/include/CGAL/_test_mf_plane_3_to_2d.h index d9dcbff3151..15ec54556b8 100644 --- a/Kernel_23/test/Kernel_23/include/CGAL/_test_mf_plane_3_to_2d.h +++ b/Kernel_23/test/Kernel_23/include/CGAL/_test_mf_plane_3_to_2d.h @@ -18,8 +18,6 @@ #ifndef CGAL__TEST_MF_PLANE_3_TO_2D_H #define CGAL__TEST_MF_PLANE_3_TO_2D_H -#include - template bool _test_mf_plane_3_to_2d(const R& ) @@ -31,7 +29,7 @@ _test_mf_plane_3_to_2d(const R& ) typedef CGAL::Point_3< R> Point_3; typedef CGAL::Point_2< R> Point_2; - const bool nonexact = boost::is_same::value; + const bool nonexact = std::is_same::value; RT n0 = 0; RT n1 = 7; diff --git a/Kernel_23/test/Kernel_23/include/CGAL/_test_new_3.h b/Kernel_23/test/Kernel_23/include/CGAL/_test_new_3.h index f6a4a8f6bf5..b70b9eea4b6 100644 --- a/Kernel_23/test/Kernel_23/include/CGAL/_test_new_3.h +++ b/Kernel_23/test/Kernel_23/include/CGAL/_test_new_3.h @@ -834,7 +834,7 @@ test_new_3(const R& rep) // More tests, that require sqrt(). typedef ::CGAL::Algebraic_structure_traits AST; static const bool has_sqrt = - ! ::boost::is_same< ::CGAL::Null_functor, typename AST::Sqrt >::value; + ! ::std::is_same< ::CGAL::Null_functor, typename AST::Sqrt >::value; _test_new_3_sqrt(rep, ::CGAL::Boolean_tag() ); return true; diff --git a/Kernel_d/include/CGAL/Kernel_d/Cartesian_converter_d.h b/Kernel_d/include/CGAL/Kernel_d/Cartesian_converter_d.h index e38fea77163..2cee3e34479 100644 --- a/Kernel_d/include/CGAL/Kernel_d/Cartesian_converter_d.h +++ b/Kernel_d/include/CGAL/Kernel_d/Cartesian_converter_d.h @@ -102,7 +102,7 @@ public: template T operator()(const T t, - typename std::enable_if::value>::type* = nullptr) const + std::enable_if_t::value>* = nullptr) const { return t; } diff --git a/Mesh_3/benchmark/Mesh_3/StdAfx.h b/Mesh_3/benchmark/Mesh_3/StdAfx.h index 1eb3927c644..e28abce381a 100644 --- a/Mesh_3/benchmark/Mesh_3/StdAfx.h +++ b/Mesh_3/benchmark/Mesh_3/StdAfx.h @@ -140,11 +140,9 @@ #include #include #include -#include #include #include #include -#include #include #include diff --git a/Mesh_3/include/CGAL/Compact_mesh_cell_base_3.h b/Mesh_3/include/CGAL/Compact_mesh_cell_base_3.h index 0283d6268d8..f8ea786fb06 100644 --- a/Mesh_3/include/CGAL/Compact_mesh_cell_base_3.h +++ b/Mesh_3/include/CGAL/Compact_mesh_cell_base_3.h @@ -29,9 +29,6 @@ #include #include -#include - - #ifdef CGAL_LINKED_WITH_TBB # include #endif @@ -489,7 +486,7 @@ public: template const Point_3& weighted_circumcenter(const GT_& gt) const { - CGAL_static_assertion((boost::is_same::value)); if (internal_tbb::is_null(weighted_circumcenter_)) { this->try_to_set_circumcenter( diff --git a/Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h b/Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h index 85683e9fbd6..2ad57f27cc0 100644 --- a/Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h +++ b/Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h @@ -41,7 +41,6 @@ #include #include #include -#include #include #include @@ -2668,7 +2667,7 @@ update_mesh(const Vertex_handle& old_vertex, // Fill modified vertices if ( fill_vertices - && !(boost::is_same::value)) + && !(std::is_same::value)) { fill_modified_vertices(outdated_cells.begin(), outdated_cells.end(), new_vertex, modified_vertices); @@ -3284,7 +3283,7 @@ move_point_topo_change_conflict_zone_known( std::copy(new_conflict_cells.begin(),new_conflict_cells.end(),outdated_cells); // Fill deleted_cells - if(! boost::is_same::value) + if(! std::is_same::value) std::copy(conflict_zone.begin(), conflict_zone.end(), deleted_cells); return new_vertex; diff --git a/Mesh_3/include/CGAL/Mesh_3/Protect_edges_sizing_field.h b/Mesh_3/include/CGAL/Mesh_3/Protect_edges_sizing_field.h index 767240429c2..e12f3418da5 100644 --- a/Mesh_3/include/CGAL/Mesh_3/Protect_edges_sizing_field.h +++ b/Mesh_3/include/CGAL/Mesh_3/Protect_edges_sizing_field.h @@ -509,7 +509,7 @@ Protect_edges_sizing_field:: operator()(const bool refine) { // This class is only meant to be used with non-periodic triangulations - CGAL_assertion(!(boost::is_same::value)); + CGAL_assertion(!(std::is_same::value)); #ifdef CGAL_MESH_3_VERBOSE std::cerr << "Inserting protection balls..." << std::endl diff --git a/Mesh_3/include/CGAL/Mesh_3/Triangulation_helpers.h b/Mesh_3/include/CGAL/Mesh_3/Triangulation_helpers.h index 3d91d34ffca..4fe3b7e8f34 100644 --- a/Mesh_3/include/CGAL/Mesh_3/Triangulation_helpers.h +++ b/Mesh_3/include/CGAL/Mesh_3/Triangulation_helpers.h @@ -25,9 +25,7 @@ #include #include -#include #include -#include #include #include @@ -35,6 +33,8 @@ #include #include #include +#include + namespace CGAL { @@ -145,14 +145,14 @@ public: FT get_sq_distance_to_closest_vertex(const Tr& tr, const Vertex_handle& vh, const Cell_vector& incident_cells, - typename boost::enable_if_c::type* = nullptr) const; + typename std::enable_if_t* = nullptr) const; // @todo are the two versions really worth it, I can't tell the difference from a time POV... template FT get_sq_distance_to_closest_vertex(const Tr& tr, const Vertex_handle& vh, const Cell_vector& incident_cells, - typename boost::disable_if_c::type* = nullptr) const; + typename std::enable_if_t* = nullptr) const; private: /** @@ -187,7 +187,7 @@ no_topological_change(Tr& tr, // // Note that the function was nevertheless adapted to work with periodic triangulation // so this hack can be disabled if one day 'side_of_power_sphere()' is improved. - if(boost::is_same::value) + if(std::is_same::value) return false; typename Gt::Construct_opposite_vector_3 cov = @@ -407,7 +407,7 @@ Triangulation_helpers:: get_sq_distance_to_closest_vertex(const Tr& tr, const Vertex_handle& vh, const Cell_vector& incident_cells, - typename boost::enable_if_c::type*) const + typename std::enable_if_t*) const { CGAL_precondition(!tr.is_infinite(vh)); @@ -466,7 +466,7 @@ Triangulation_helpers:: get_sq_distance_to_closest_vertex(const Tr& tr, const Vertex_handle& vh, const Cell_vector& incident_cells, - typename boost::disable_if_c::type*) const + typename std::enable_if_t*) const { CGAL_precondition(!tr.is_infinite(vh)); diff --git a/Mesh_3/include/CGAL/Mesh_3/experimental/Facet_patch_id_map.h b/Mesh_3/include/CGAL/Mesh_3/experimental/Facet_patch_id_map.h index bc66737a111..3c2fe701f47 100644 --- a/Mesh_3/include/CGAL/Mesh_3/experimental/Facet_patch_id_map.h +++ b/Mesh_3/include/CGAL/Mesh_3/experimental/Facet_patch_id_map.h @@ -18,7 +18,7 @@ #include #include -#include +#include namespace CGAL { namespace Mesh_3 { diff --git a/Mesh_3/include/CGAL/Mesh_3/experimental/Sizing_field_minimum.h b/Mesh_3/include/CGAL/Mesh_3/experimental/Sizing_field_minimum.h index d55b159b7f3..e66a42b23cd 100644 --- a/Mesh_3/include/CGAL/Mesh_3/experimental/Sizing_field_minimum.h +++ b/Mesh_3/include/CGAL/Mesh_3/experimental/Sizing_field_minimum.h @@ -22,9 +22,6 @@ #include -#include -#include - namespace CGAL { template @@ -36,15 +33,15 @@ namespace CGAL typedef typename SizingField1::Index Index; BOOST_STATIC_ASSERT_MSG(( - boost::is_same::value), "FT type should be the same for both sizing fields"); BOOST_STATIC_ASSERT_MSG(( - boost::is_same::value), "Point_3 type should be the same for both sizing fields"); BOOST_STATIC_ASSERT_MSG(( - boost::is_same::value), "Index type should be the same for both sizing fields"); diff --git a/Mesh_3/include/CGAL/Mesh_cell_criteria_3.h b/Mesh_3/include/CGAL/Mesh_cell_criteria_3.h index 1a5508d034b..53e0c20ea4f 100644 --- a/Mesh_3/include/CGAL/Mesh_cell_criteria_3.h +++ b/Mesh_3/include/CGAL/Mesh_cell_criteria_3.h @@ -67,9 +67,9 @@ public: template Mesh_cell_criteria_3(const FT& radius_edge_bound, const Sizing_field& radius_bound, - typename std::enable_if< + std::enable_if_t< Mesh_3::Is_mesh_domain_field_3::value - >::type* = 0 + >* = 0 ) { init_radius(radius_bound); diff --git a/Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h b/Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h index e9a58de83d5..6eea4ed9ebb 100644 --- a/Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h +++ b/Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h @@ -35,11 +35,10 @@ #include #include #include +#include #include // for boost::prior and boost::next #include -#include -#include #include namespace CGAL { diff --git a/Mesh_3/include/CGAL/Mesh_edge_criteria_3.h b/Mesh_3/include/CGAL/Mesh_edge_criteria_3.h index b2d8f282d8a..d45ff426f9f 100644 --- a/Mesh_3/include/CGAL/Mesh_edge_criteria_3.h +++ b/Mesh_3/include/CGAL/Mesh_edge_criteria_3.h @@ -111,7 +111,7 @@ public: Mesh_edge_criteria_3 ( const Sizing_field& size, - typename std::enable_if::value>::type* = 0 + std::enable_if_t::value>* = 0 ) { p_size_ = new Mesh_3::internal::Sizing_field_container #include -#include #include #include #include -#include #include #include #include @@ -52,6 +50,7 @@ #include #include #include +#include #ifdef CGAL_LINKED_WITH_TBB # include @@ -191,7 +190,7 @@ public: Default, Ins_fctor_AABB_tree> Inside_functor; typedef typename Inside_functor::AABB_tree AABB_tree_; - BOOST_STATIC_ASSERT((boost::is_same::value)); + BOOST_STATIC_ASSERT((std::is_same::value)); typedef typename AABB_tree_::AABB_traits AABB_traits; typedef typename AABB_tree_::Primitive AABB_primitive; typedef typename AABB_tree_::Primitive_id AABB_primitive_id; @@ -382,9 +381,9 @@ public: : r_domain_(domain) {} template - typename boost::enable_if::type, - Surface_patch>::type + typename std::enable_if_t::value, + Surface_patch> operator()(const Query& q) const { CGAL_MESH_3_PROFILER(std::string("Mesh_3 profiler: ") + std::string(CGAL_PRETTY_FUNCTION)); @@ -423,9 +422,9 @@ public: : r_domain_(domain) {} template - typename boost::enable_if::type, - Intersection>::type + typename std::enable_if_t::value, + Intersection> operator()(const Query& q) const { CGAL_MESH_3_PROFILER(std::string("Mesh_3 profiler: ") + std::string(CGAL_PRETTY_FUNCTION)); diff --git a/Mesh_3/test/Mesh_3/test_meshing_polyhedron.cpp b/Mesh_3/test/Mesh_3/test_meshing_polyhedron.cpp index 3f8b51cf7c4..9a0c5677168 100644 --- a/Mesh_3/test/Mesh_3/test_meshing_polyhedron.cpp +++ b/Mesh_3/test/Mesh_3/test_meshing_polyhedron.cpp @@ -20,12 +20,12 @@ #include #include -#include - #include #include +#include + template struct Polyhedron_tester : public Tester { @@ -35,7 +35,7 @@ struct Polyhedron_tester : public Tester typedef CGAL::Polyhedron_3 Polyhedron; typedef CGAL::Polyhedral_mesh_domain_3 Mesh_domain; - CGAL_static_assertion((boost::is_same< + CGAL_static_assertion((std::is_same< typename Mesh_domain::Surface_patch_index, std::pair >::value)); diff --git a/Modular_arithmetic/test/Modular_arithmetic/Modular_traits.cpp b/Modular_arithmetic/test/Modular_arithmetic/Modular_traits.cpp index a2cbeb5bc47..b5e01b01cd7 100644 --- a/Modular_arithmetic/test/Modular_arithmetic/Modular_traits.cpp +++ b/Modular_arithmetic/test/Modular_arithmetic/Modular_traits.cpp @@ -51,13 +51,13 @@ void test_modular_traits(){ typedef typename MT::NT NT; assert( - !(::boost::is_same::value)); + !(::std::is_same::value)); assert( - !(::boost::is_same::value)); + !(::std::is_same::value)); assert( - (::boost::is_same::value)); + (::std::is_same::value)); assert( - (::boost::is_same::value)); + (::std::is_same::value)); Residue::set_current_prime(7); Modular_image modular_image; diff --git a/Nef_2/include/CGAL/Nef_2/PM_overlayer.h b/Nef_2/include/CGAL/Nef_2/PM_overlayer.h index 78e67ad5d21..8fb5be2f3fb 100644 --- a/Nef_2/include/CGAL/Nef_2/PM_overlayer.h +++ b/Nef_2/include/CGAL/Nef_2/PM_overlayer.h @@ -32,7 +32,7 @@ #include #include -#include +#include #ifndef CGAL_USE_LEDA #define LEDA_MEMORY(t) @@ -959,7 +959,7 @@ bool is_forward_edge(const Const_decorator& N, void assert_type_precondition() const { typename PM_decorator_::Point p1; Point p2; - CGAL_static_assertion((boost::is_same::value)); } + CGAL_static_assertion((std::is_same::value)); } diff --git a/Nef_3/include/CGAL/Nef_polyhedron_3.h b/Nef_3/include/CGAL/Nef_polyhedron_3.h index e72a0340e8b..9f34a254636 100644 --- a/Nef_3/include/CGAL/Nef_polyhedron_3.h +++ b/Nef_3/include/CGAL/Nef_polyhedron_3.h @@ -60,9 +60,7 @@ #include #include #include - -#include -#include +#include // RO: includes for "vertex cycle to Nef" constructor #include @@ -628,9 +626,9 @@ protected: explicit Nef_polyhedron_3(const PolygonMesh& pm, const HalfedgeIndexMap& him, const FaceIndexMap& fim, - typename boost::disable_if < - boost::is_same - >::type* = nullptr // disambiguate with another constructor + typename std::enable_if < + !std::is_same::value + >* = nullptr // disambiguate with another constructor ) : Nef_polyhedron_3(Private_tag{}) { CGAL_NEF_TRACEN("construction from PolygonMesh"); diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Cartesian_LA_functors.h b/NewKernel_d/include/CGAL/NewKernel_d/Cartesian_LA_functors.h index 9523d816fbb..d227e61e4af 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Cartesian_LA_functors.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Cartesian_LA_functors.h @@ -13,7 +13,7 @@ #define CGAL_CARTESIAN_LA_FUNCTORS_H #include -#include +#include #include #include #include @@ -57,28 +57,28 @@ template struct Construct_LA_vector return std::move(v); } template - typename std::enable_if::value && + std::enable_if_t::value && std::is_same, Dimension>::value, - result_type>::type + result_type> operator()(U&&...u)const{ return typename Constructor::Values()(std::forward(u)...); } - //template::value>::type,class=typename std::enable_if<(sizeof...(U)==static_dim+1)>::type,class=void> + //template::value>,class=typename std::enable_if_t<(sizeof...(U)==static_dim+1)>,class=void> template - typename std::enable_if::value && + std::enable_if_t::value && std::is_same, Dimension>::value, - result_type>::type + result_type> operator()(U&&...u)const{ return Apply_to_last_then_rest()(typename Constructor::Values_divide(),std::forward(u)...); } template inline - typename std::enable_if_t::value,result_type> operator() + std::enable_if_t::value,result_type> operator() (Iter f,Iter g,Cartesian_tag t)const { return this->operator()((int)std::distance(f,g),f,g,t); } template inline - typename std::enable_if_t::value,result_type> operator() + std::enable_if_t::value,result_type> operator() (int d,Iter f,Iter g,Cartesian_tag)const { CGAL_assertion(d==std::distance(f,g)); @@ -86,28 +86,28 @@ template struct Construct_LA_vector return typename Constructor::Iterator()(d,f,g); } template inline - typename std::enable_if_t::value,result_type> operator() + std::enable_if_t::value,result_type> operator() (Iter f,Iter g,Homogeneous_tag)const { --g; return this->operator()((int)std::distance(f,g),f,g,*g); } template inline - typename std::enable_if_t::value,result_type> operator() + std::enable_if_t::value,result_type> operator() (int d,Iter f,Iter g,Homogeneous_tag)const { --g; return this->operator()(d,f,g,*g); } template inline - typename std::enable_if_t::value,result_type> operator() + std::enable_if_t::value,result_type> operator() (Iter f,Iter g)const { // Shouldn't it try comparing dist(f,g) to the dimension if it is known? return this->operator()(f,g,typename R::Rep_tag()); } template inline - typename std::enable_if_t::value,result_type> operator() + std::enable_if_t::value,result_type> operator() (int d,Iter f,Iter g)const { return this->operator()(d,f,g,typename R::Rep_tag()); @@ -115,7 +115,7 @@ template struct Construct_LA_vector // Last homogeneous coordinate given separately template inline - typename std::enable_if_t::value,result_type> operator() + std::enable_if_t::value,result_type> operator() (int d,Iter f,Iter g,NT const&l)const { CGAL_assertion(d==std::distance(f,g)); @@ -124,7 +124,7 @@ template struct Construct_LA_vector return typename Constructor::Iterator()(d,CGAL::make_transforming_iterator(f,Divide(l)),CGAL::make_transforming_iterator(g,Divide(l))); } template inline - typename std::enable_if_t::value,result_type> operator() + std::enable_if_t::value,result_type> operator() (Iter f,Iter g,NT const&l)const { return this->operator()((int)std::distance(f,g),f,g,l); diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Cartesian_static_filters.h b/NewKernel_d/include/CGAL/NewKernel_d/Cartesian_static_filters.h index 243b4e756aa..5c3a64287d2 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Cartesian_static_filters.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Cartesian_static_filters.h @@ -99,7 +99,7 @@ struct Cartesian_static_filters, R_, Derived_> : public R_ { template struct Functor { typedef //typename boost::mpl::if_ < - //boost::is_same, + //std::is_same, //typename Get_functor::type, SFA::Orientation_of_points_2 // >::type diff --git a/NewKernel_d/include/CGAL/NewKernel_d/KernelD_converter.h b/NewKernel_d/include/CGAL/NewKernel_d/KernelD_converter.h index 5f2481695af..09ed5664c46 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/KernelD_converter.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/KernelD_converter.h @@ -15,14 +15,14 @@ #include #include #include +#include #include #include #include #include #include -#include +#include #include -#include #include #include #include @@ -135,7 +135,7 @@ typename typeset_intersection(a),Store_kernel2(b){} // For the (not anymore used in CGAL) boost result of, used in transforming_iterator - template::value?42:0> struct result:Base::template result{}; + template::value?42:0> struct result:Base::template result{}; template struct result { typedef transforming_iterator type; }; @@ -160,7 +160,7 @@ typename typeset_intersection - transforming_iterator,It>::type> + transforming_iterator::value,It>> operator()(It const& it) const { return make_transforming_iterator(it,*this); } diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Kernel_d_interface.h b/NewKernel_d/include/CGAL/NewKernel_d/Kernel_d_interface.h index c3abd5a7be5..50ac9fbedf8 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Kernel_d_interface.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Kernel_d_interface.h @@ -135,8 +135,8 @@ template struct Kernel_d_interface : public Base_ { typedef typename Base::Point_cartesian_const_iterator result_type; // Kernel_d requires a common iterator type for points and vectors // TODO: provide this mixed functor in preKernel? - // CGAL_static_assertion((boost::is_same::type>::type, result_type>::value)); - // CGAL_static_assertion((boost::is_same::type, result_type>::value)); + // CGAL_static_assertion((std::is_same::type>::type, result_type>::value)); + // CGAL_static_assertion((std::is_same::type, result_type>::value)); template auto operator()(Point_d const&p, Tag_ t)const{ return CPI(this->kernel())(p,t); diff --git a/NewKernel_d/include/CGAL/NewKernel_d/LA_eigen/LA.h b/NewKernel_d/include/CGAL/NewKernel_d/LA_eigen/LA.h index 3d4afd905e5..c96e0eea647 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/LA_eigen/LA.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/LA_eigen/LA.h @@ -16,7 +16,6 @@ #error Requires Eigen #endif #include -#include #include #include #include diff --git a/NewKernel_d/include/CGAL/NewKernel_d/LA_eigen/constructors.h b/NewKernel_d/include/CGAL/NewKernel_d/LA_eigen/constructors.h index 1341a28f7df..631eedf6422 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/LA_eigen/constructors.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/LA_eigen/constructors.h @@ -23,7 +23,6 @@ #error Requires Eigen #endif #include -#include #include #include #include diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Types/Segment.h b/NewKernel_d/include/CGAL/NewKernel_d/Types/Segment.h index 529cc32b329..2e74ec5d6c1 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Types/Segment.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Types/Segment.h @@ -26,7 +26,7 @@ template class Segment { public: //typedef Segmentd Segment; //FIXME: don't forward directly, piecewise_construct should call the point construction functor (I guess? or is it unnecessary?) - template::type...>,std::tuple>::value>::type> + template::type...>,std::tuple>::value>> Segment(U&&...u):data(std::forward(u)...){} Point_ source()const{return data.first;} Point_ target()const{return data.second;} diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Vector/array.h b/NewKernel_d/include/CGAL/NewKernel_d/Vector/array.h index 4fb5be151e5..88a4ed421a9 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Vector/array.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Vector/array.h @@ -12,7 +12,6 @@ #ifndef CGAL_VECTOR_ARRAY_H #define CGAL_VECTOR_ARRAY_H #include -#include #include #include #include diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Vector/vector.h b/NewKernel_d/include/CGAL/NewKernel_d/Vector/vector.h index 425da21a3be..9dfda2c38b1 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Vector/vector.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Vector/vector.h @@ -12,7 +12,6 @@ #ifndef CGAL_VECTOR_VECTOR_H #define CGAL_VECTOR_VECTOR_H #include -#include #include #include #include diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Cartesian_wrap.h b/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Cartesian_wrap.h index 776b59b67a6..9ddd7953e24 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Cartesian_wrap.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Cartesian_wrap.h @@ -13,7 +13,7 @@ #define CGAL_KERNEL_D_CARTESIAN_WRAP_H #include -#include +#include #if defined(BOOST_MSVC) # pragma warning(push) @@ -59,18 +59,18 @@ struct Forward_rep { //@mglisse shall we update that code? //TODO: make a good C++0X version with perfect forwarding //#ifdef CGAL_CXX11 -//template ::type>::value&&!Is_wrapper_iterator::type>::value>::type> +//template ::type>::value&&!Is_wrapper_iterator::type>::value>> //T&& operator()(typename std::remove_reference::type&& t) const {return static_cast(t);}; -//template ::type>::value&&!Is_wrapper_iterator::type>::value>::type> +//template ::type>::value&&!Is_wrapper_iterator::type>::value>> //T&& operator()(typename std::remove_reference::type& t) const {return static_cast(t);}; // -//template ::type>::value>::type> +//template ::type>::value>> //typename Type_copy_cvref::type::Rep>::type&& //operator()(T&& t) const { // return static_cast::type::Rep>::type&&>(t.rep()); //}; // -//template ::type>::value>::type> +//template ::type>::value>> //transforming_iterator::type> //operator()(T&& t) const { // return make_transforming_iterator(std::forward(t),Forward_rep()); @@ -83,12 +83,12 @@ template struct result_{typedef transforming_iterator struct result; template struct result : result_ {}; -template typename boost::disable_if,Is_wrapper_iterator >,T>::type const& operator()(T const& t) const {return t;} -template typename boost::disable_if,Is_wrapper_iterator >,T>::type& operator()(T& t) const {return t;} +template std::enable_if_t,Is_wrapper_iterator >::value,T> const& operator()(T const& t) const {return t;} +template std::enable_if_t,Is_wrapper_iterator >::value,T>& operator()(T& t) const {return t;} -template typename T::Rep const& operator()(T const& t, typename boost::enable_if >::type* = 0) const {return t.rep();} +template typename T::Rep const& operator()(T const& t, std::enable_if_t::value >* = 0) const {return t.rep();} -template transforming_iterator,T>::type> operator()(T const& t) const {return make_transforming_iterator(t,Forward_rep());} +template transforming_iterator::value,T>> operator()(T const& t) const {return make_transforming_iterator(t,Forward_rep());} //#endif }; } @@ -189,8 +189,8 @@ struct Cartesian_refcount : public Base_ //typedef typename map_functor_type::type f_t; typedef typename map_result_tag::type r_t; enum { - is_nul = boost::is_same::type,Null_functor>::value, - ret_rcobj = boost::is_same::value || boost::is_same::value + is_nul = std::is_same::type,Null_functor>::value, + ret_rcobj = std::is_same::value || std::is_same::value }; }; diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Hyperplane_d.h b/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Hyperplane_d.h index 473f07a57c6..2eae60f5576 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Hyperplane_d.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Hyperplane_d.h @@ -32,7 +32,7 @@ class Hyperplane_d : public Get_type:: typedef typename Get_functor::type HTBase; typedef Hyperplane_d Self; - CGAL_static_assertion((boost::is_same::type>::value)); + CGAL_static_assertion((std::is_same::type>::value)); public: @@ -54,7 +54,7 @@ public: typedef R_ R; - template::type...>,std::tuple >::value>::type> explicit Hyperplane_d(U&&...u) + template::type...>,std::tuple >::value>> explicit Hyperplane_d(U&&...u) : Rep(CHBase()(std::forward(u)...)){} // // called from Construct_point_d diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Point_d.h b/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Point_d.h index 15c004af124..42d94a93c73 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Point_d.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Point_d.h @@ -40,7 +40,7 @@ class Point_d : public Get_type::type typedef Point_d Self; - CGAL_static_assertion((boost::is_same::type>::value)); + CGAL_static_assertion((std::is_same::type>::value)); public: @@ -68,7 +68,7 @@ public: # pragma warning(disable: 4309) #endif - template::type...>,std::tuple >::value>::type> explicit Point_d(U&&...u) + template::type...>,std::tuple >::value>> explicit Point_d(U&&...u) : Rep(CPBase()(std::forward(u)...)){} #if defined(BOOST_MSVC) && (BOOST_MSVC == 1900) diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Ref_count_obj.h b/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Ref_count_obj.h index 5650f1ce1a1..fefbca812b7 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Ref_count_obj.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Ref_count_obj.h @@ -33,7 +33,7 @@ class Ref_count_obj typedef typename Get_functor >::type CBase; typedef Ref_count_obj Self; - CGAL_static_assertion((boost::is_same::type>::value)); + CGAL_static_assertion((std::is_same::type>::value)); public: typedef R_ R; @@ -54,7 +54,7 @@ public: return CGAL::get_pointee_or_identity(data); } - template::type...>,std::tuple >::value>::type> explicit Ref_count_obj(U&&...u) + template::type...>,std::tuple >::value>> explicit Ref_count_obj(U&&...u) : data(Eval_functor(),CBase(),std::forward(u)...){} template explicit Ref_count_obj(Eval_functor&&,F&&f,U&&...u) diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Segment_d.h b/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Segment_d.h index 206634b4233..28bd4e8a8a3 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Segment_d.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Segment_d.h @@ -35,7 +35,7 @@ class Segment_d : public Get_type::type typedef typename Get_functor::type CSEBase; typedef Segment_d Self; - CGAL_static_assertion((boost::is_same::type>::value)); + CGAL_static_assertion((std::is_same::type>::value)); public: @@ -57,7 +57,7 @@ public: typedef R_ R; - template::type...>,std::tuple >::value>::type> explicit Segment_d(U&&...u) + template::type...>,std::tuple >::value>> explicit Segment_d(U&&...u) : Rep(CSBase()(std::forward(u)...)){} // // called from Construct_point_d diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Sphere_d.h b/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Sphere_d.h index cd14566ebff..7bcd8568dcc 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Sphere_d.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Sphere_d.h @@ -32,7 +32,7 @@ class Sphere_d : public Get_type::type typedef typename Get_functor::type SRBase; typedef Sphere_d Self; - CGAL_static_assertion((boost::is_same::type>::value)); + CGAL_static_assertion((std::is_same::type>::value)); public: @@ -54,7 +54,7 @@ public: typedef R_ R; - template::type...>,std::tuple >::value>::type> explicit Sphere_d(U&&...u) + template::type...>,std::tuple >::value>> explicit Sphere_d(U&&...u) : Rep(CSBase()(std::forward(u)...)){} // // called from Construct_point_d diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Vector_d.h b/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Vector_d.h index 3c45a5eecb0..6d47e86d2f3 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Vector_d.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Vector_d.h @@ -39,7 +39,7 @@ class Vector_d : public Get_type::type typedef typename Get_functor::type SLBase; typedef Vector_d Self; - CGAL_static_assertion((boost::is_same::type>::value)); + CGAL_static_assertion((std::is_same::type>::value)); public: @@ -66,7 +66,7 @@ public: # pragma warning(push) # pragma warning(disable: 4309) #endif - template::type...>,std::tuple >::value>::type> explicit Vector_d(U&&...u) + template::type...>,std::tuple >::value>> explicit Vector_d(U&&...u) : Rep(CVBase()(std::forward(u)...)){} #if defined(BOOST_MSVC) && (BOOST_MSVC == 1900) diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Weighted_point_d.h b/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Weighted_point_d.h index c3020b65f7c..d6ea443659e 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Weighted_point_d.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Wrapper/Weighted_point_d.h @@ -16,7 +16,6 @@ #include #include #include -#include #include #include #include @@ -35,7 +34,7 @@ class Weighted_point_d : public Get_type::type PWBase; typedef Weighted_point_d Self; - BOOST_STATIC_ASSERT((boost::is_same::type>::value)); + BOOST_STATIC_ASSERT((std::is_same::type>::value)); public: @@ -57,7 +56,7 @@ public: typedef R_ R; - template::type...>,std::tuple >::value>::type> explicit Weighted_point_d(U&&...u) + template::type...>,std::tuple >::value>> explicit Weighted_point_d(U&&...u) : Rep(CWPBase()(std::forward(u)...)){} // // called from Construct_point_d diff --git a/NewKernel_d/include/CGAL/NewKernel_d/function_objects_cartesian.h b/NewKernel_d/include/CGAL/NewKernel_d/function_objects_cartesian.h index 605db974423..1cfaaa4893b 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/function_objects_cartesian.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/function_objects_cartesian.h @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include #include #include @@ -64,8 +64,8 @@ template,typename R::Default_ambient_dimension>::value>::type> - template =3)>::type> + // template ::value,typename R::Default_ambient_dimension>::value>> + template =3)>> result_type operator()(U&&...u) const { return operator()({std::forward(u)...}); } @@ -159,7 +159,7 @@ template struct Orientation_of_vectors : private Store_kernel { return R::LA::sign_of_determinant(std::move(m)); } - template =3)>::type> + template =3)>> result_type operator()(U&&...u) const { return operator()({std::forward(u)...}); } @@ -425,7 +425,7 @@ CGAL_KD_DEFAULT_FUNCTOR(Linear_base_tag,(CartesianDKernelFunctors::Linear_base::value> struct Orientation : private Store_kernel { +template::value> struct Orientation : private Store_kernel { CGAL_FUNCTOR_INIT_STORE(Orientation) typedef R_ R; typedef typename Get_type::type Vector; @@ -463,12 +463,12 @@ template struct Orientation : private Store_kernel { //when Point and Vector are distinct types, the dispatch should be made //in a way that doesn't instantiate a conversion from Point to Vector template - typename boost::enable_if,result_type>::type + std::enable_if_t::value,result_type> operator()(Iter const&f, Iter const& e)const{ return OP(this->kernel())(f,e); } template - typename boost::enable_if,result_type>::type + std::enable_if_t::value,result_type> operator()(Iter const&f, Iter const& e)const{ return OV(this->kernel())(f,e); } @@ -586,7 +586,7 @@ template struct Side_of_oriented_sphere : private Store_kernel { return LA::sign_of_determinant(std::move(m)); } - template =4)>::type> + template =4)>> result_type operator()(U&&...u) const { return operator()({std::forward(u)...}); } @@ -762,7 +762,7 @@ template struct Side_of_bounded_sphere : private Store_kernel { return enum_cast (sos (f, e, p0) * op (f, e)); } - template =4)>::type> + template =4)>> result_type operator()(U&&...u) const { return operator()({std::forward(u)...}); } diff --git a/NewKernel_d/include/CGAL/NewKernel_d/utils.h b/NewKernel_d/include/CGAL/NewKernel_d/utils.h index 1204e1fe669..03f9b35ff94 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/utils.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/utils.h @@ -22,7 +22,6 @@ #include #include -#include #include #include #include @@ -39,7 +38,7 @@ template ::value /*false*/> struct Has_type_different_from : boost::false_type {}; template struct Has_type_different_from -: boost::mpl::not_ > {}; +: boost::mpl::not_ > {}; template struct Wrap_type { typedef T type; }; diff --git a/NewKernel_d/test/NewKernel_d/Epick_d.cpp b/NewKernel_d/test/NewKernel_d/Epick_d.cpp index 824b9a52681..bbc3b6a128c 100644 --- a/NewKernel_d/test/NewKernel_d/Epick_d.cpp +++ b/NewKernel_d/test/NewKernel_d/Epick_d.cpp @@ -509,8 +509,8 @@ void test3(){ ; CP_ cp_ Kinit(construct_point_d_object); CV_ cv_ Kinit(construct_vector_d_object); - typename boost::mpl::if_,Construct_point3_helper,CP_>::type cp(cp_); - typename boost::mpl::if_,Construct_point3_helper,CV_>::type cv(cv_); + typename boost::mpl::if_,Construct_point3_helper,CP_>::type cp(cp_); + typename boost::mpl::if_,Construct_point3_helper,CV_>::type cv(cv_); CCI ci Kinit(construct_cartesian_const_iterator_d_object); CC cc Kinit(compute_coordinate_d_object); CL cl Kinit(compare_lexicographically_d_object); @@ -740,11 +740,11 @@ template struct CGAL::Epick_d; typedef CGAL::Epick_d > Ker2; typedef CGAL::Epick_d > Ker3; typedef CGAL::Epick_d Kerd; -CGAL_static_assertion((boost::is_same,Ker2::Dimension>::value)); -CGAL_static_assertion((boost::is_same,Ker3::Dimension>::value)); -CGAL_static_assertion((boost::is_same::value)); -CGAL_static_assertion((boost::is_same,CGAL::Ambient_dimension::type>::value)); -CGAL_static_assertion((boost::is_same,CGAL::Ambient_dimension::type>::value)); +CGAL_static_assertion((std::is_same,Ker2::Dimension>::value)); +CGAL_static_assertion((std::is_same,Ker3::Dimension>::value)); +CGAL_static_assertion((std::is_same::value)); +CGAL_static_assertion((std::is_same,CGAL::Ambient_dimension::type>::value)); +CGAL_static_assertion((std::is_same,CGAL::Ambient_dimension::type>::value)); int main(){ //Broken with Linear_base_d (output iterator) //test2 >(); diff --git a/Number_types/include/CGAL/Interval_nt.h b/Number_types/include/CGAL/Interval_nt.h index 47a68093191..4a03e3ef882 100644 --- a/Number_types/include/CGAL/Interval_nt.h +++ b/Number_types/include/CGAL/Interval_nt.h @@ -1463,6 +1463,7 @@ public: typedef double Bound; typedef CGAL::Tag_false With_empty_interval; typedef CGAL::Tag_true Is_interval; + static constexpr bool is_interval_v = true; struct Construct :public CGAL::cpp98::binary_function{ Interval operator()( const Bound& l,const Bound& r) const { diff --git a/Number_types/include/CGAL/Lazy_exact_nt.h b/Number_types/include/CGAL/Lazy_exact_nt.h index 3d62ac6a779..7b749ae6251 100644 --- a/Number_types/include/CGAL/Lazy_exact_nt.h +++ b/Number_types/include/CGAL/Lazy_exact_nt.h @@ -18,9 +18,7 @@ #include // for Root_of functor #include -#include #include -#include #include #include @@ -37,6 +35,8 @@ #include #include +#include + #include #define CGAL_int(T) typename First_if_different::Type @@ -382,9 +382,9 @@ public : // Also check that ET and AT are constructible from T? template - Lazy_exact_nt (T i, typename boost::enable_if, std::is_enum >, - boost::mpl::not_ > >,void*>::type=0) + boost::mpl::not_ > >::value,void*> = 0) : Base(new Lazy_exact_Cst(i)) {} Lazy_exact_nt (const ET & e) @@ -394,12 +394,12 @@ public : template Lazy_exact_nt (const Lazy_exact_nt &x, - typename boost::enable_if,int>::type=0) + std::enable_if_t::value,int> = 0) : Base(new Lazy_lazy_exact_Cst(x)){} template explicit Lazy_exact_nt (const Lazy_exact_nt &x, - typename boost::disable_if,int>::type=0) + typename std::enable_if_t::value,int> = 0) : Base(new Lazy_lazy_exact_Cst(x)){} friend void swap(Lazy_exact_nt& a, Lazy_exact_nt& b) noexcept @@ -944,7 +944,7 @@ struct Div_mod_selector { void operator()( const NT1& x, const NT2& y, NT& q, NT& r ) const { - CGAL_static_assertion((::boost::is_same< + CGAL_static_assertion((::std::is_same< typename Coercion_traits< NT1, NT2 >::Type, NT >::value)); @@ -1029,7 +1029,7 @@ template < typename ET > class Real_embeddable_traits< Lazy_exact_nt > : public INTERN_RET::Real_embeddable_traits_base< Lazy_exact_nt , CGAL::Tag_true > { // Every type ET of Lazy_exact_nt has to be real embeddable. - CGAL_static_assertion((::boost::is_same< typename Real_embeddable_traits< ET > + CGAL_static_assertion((::std::is_same< typename Real_embeddable_traits< ET > ::Is_real_embeddable, Tag_true >::value)); public: @@ -1178,7 +1178,7 @@ struct Coercion_traits< Lazy_exact_nt, Lazy_exact_nt > Are_implicit_interoperable; \ private: \ static const bool interoperable \ - =boost::is_same< Are_implicit_interoperable, Tag_false>::value; \ + =std::is_same< Are_implicit_interoperable, Tag_false>::value; \ public: \ typedef typename boost::mpl::if_c \ ::type Type; \ diff --git a/Number_types/include/CGAL/Quotient.h b/Number_types/include/CGAL/Quotient.h index c27dc82af73..e91e22208a5 100644 --- a/Number_types/include/CGAL/Quotient.h +++ b/Number_types/include/CGAL/Quotient.h @@ -628,7 +628,7 @@ public: }; typedef typename boost::mpl::if_c< - !boost::is_same< typename Algebraic_structure_traits::Sqrt, + !std::is_same< typename Algebraic_structure_traits::Sqrt, Null_functor >::value, typename INTERN_QUOTIENT::Sqrt_selector< Type, Is_exact >::Sqrt, diff --git a/Number_types/include/CGAL/Sqrt_extension/Algebraic_structure_traits.h b/Number_types/include/CGAL/Sqrt_extension/Algebraic_structure_traits.h index d2cba754b13..b0913afb1b6 100644 --- a/Number_types/include/CGAL/Sqrt_extension/Algebraic_structure_traits.h +++ b/Number_types/include/CGAL/Sqrt_extension/Algebraic_structure_traits.h @@ -205,8 +205,8 @@ public: // Tag_true if COEFF and ROOT are exact typedef typename ::boost::mpl::if_c< - bool( ::boost::is_same::Is_exact,::CGAL::Tag_true>::value )&& - bool( ::boost::is_same::Is_exact,::CGAL::Tag_true>::value ) + bool( ::std::is_same::Is_exact,::CGAL::Tag_true>::value )&& + bool( ::std::is_same::Is_exact,::CGAL::Tag_true>::value ) ,::CGAL::Tag_true,::CGAL::Tag_false>::type Is_exact; typedef typename Algebraic_structure_traits::Is_numerical_sensitive diff --git a/Number_types/include/CGAL/Sqrt_extension/Coercion_traits.h b/Number_types/include/CGAL/Sqrt_extension/Coercion_traits.h index 1bbeaa92f16..6b4344348d4 100644 --- a/Number_types/include/CGAL/Sqrt_extension/Coercion_traits.h +++ b/Number_types/include/CGAL/Sqrt_extension/Coercion_traits.h @@ -183,7 +183,7 @@ struct Coercion_traits_for_level, B ::boost::is_base_and_derived< Field_with_sqrt_tag, typename Algebraic_structure_traits::Algebraic_category >::value || - ::boost::is_same< + ::std::is_same< Field_with_sqrt_tag, typename Algebraic_structure_traits::Algebraic_category >::value , diff --git a/Number_types/include/CGAL/Sqrt_extension/Fraction_traits.h b/Number_types/include/CGAL/Sqrt_extension/Fraction_traits.h index a3283e0fdc2..863a9800027 100644 --- a/Number_types/include/CGAL/Sqrt_extension/Fraction_traits.h +++ b/Number_types/include/CGAL/Sqrt_extension/Fraction_traits.h @@ -147,7 +147,7 @@ template class Sqrt_ext_Ftr_base_1< Sqrt_extension, CGAL::Tag_true > : public Sqrt_ext_Ftr_base_2< Sqrt_extension, - ::boost::is_same< typename CGAL::Coercion_traits::Numerator_type>::Type, + ::std::is_same< typename CGAL::Coercion_traits::Numerator_type>::Type, typename CGAL::Fraction_traits::Numerator_type>::value > { //nothing new diff --git a/Number_types/include/CGAL/Sqrt_extension/Sqrt_extension_type.h b/Number_types/include/CGAL/Sqrt_extension/Sqrt_extension_type.h index 95fd32ac954..e98d91c45ca 100644 --- a/Number_types/include/CGAL/Sqrt_extension/Sqrt_extension_type.h +++ b/Number_types/include/CGAL/Sqrt_extension/Sqrt_extension_type.h @@ -33,9 +33,10 @@ #include #include #include -#include #include +#include + #define CGAL_int(T) typename First_if_different::Type namespace CGAL { @@ -177,10 +178,10 @@ public: */ template explicit Sqrt_extension(const NTX& a, const NTX& b, const NTX& c, const bool is_smaller, - typename boost::enable_if< boost::mpl::and_< - boost::is_same< typename Fraction_traits::Numerator_type,NTX >, - boost::is_same< typename Fraction_traits::Numerator_type,NTX > - > >::type* = 0 ) + std::enable_if_t< boost::mpl::and_< + std::is_same< typename Fraction_traits::Numerator_type,NTX >, + std::is_same< typename Fraction_traits::Numerator_type,NTX > + >::value >* = 0 ) { typename Fraction_traits::Compose compose_nt; typename Fraction_traits::Compose compose_root; @@ -228,7 +229,7 @@ public: //! Access operator for is_extended_, \c const inline const bool& is_extended() const { return is_extended_; } inline bool is_rational() const { - CGAL_precondition( (boost::is_same::value) || !"NT and ROOT should be identical and rational"); + CGAL_precondition( (std::is_same::value) || !"NT and ROOT should be identical and rational"); return !is_extended_;} //for backward compatibility //!check if the number is an extension (test the values) and update the internal flag diff --git a/Number_types/include/CGAL/Test/test_root_of_traits.h b/Number_types/include/CGAL/Test/test_root_of_traits.h index 6055f9a9fa0..ae1c7768852 100644 --- a/Number_types/include/CGAL/Test/test_root_of_traits.h +++ b/Number_types/include/CGAL/Test/test_root_of_traits.h @@ -28,8 +28,8 @@ void test_root_of_traits(){ typedef typename RoT::Root_of_1 Root_of_1; typedef typename RoT::Root_of_2 Root_of_2; - CGAL_static_assertion((::boost::is_same::value)); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); typedef typename RoT::Make_root_of_2 Make_root_of_2; typedef typename RoT::Make_sqrt Make_sqrt; @@ -41,10 +41,10 @@ void test_root_of_traits(){ const Inverse& inverse = Inverse(); const Square& square = Square(); - CGAL_static_assertion((::boost::is_same::value)); - CGAL_static_assertion((::boost::is_same::value)); - CGAL_static_assertion((::boost::is_same::value)); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); { diff --git a/Number_types/include/CGAL/mpq_class.h b/Number_types/include/CGAL/mpq_class.h index 76611b93cf9..a651b674202 100644 --- a/Number_types/include/CGAL/mpq_class.h +++ b/Number_types/include/CGAL/mpq_class.h @@ -36,7 +36,7 @@ #define CGAL_CHECK_GMP_EXPR_MPQ_CLASS \ CGAL_static_assertion( \ - (::boost::is_same< ::__gmp_expr< T , T >,Type>::value )); + (::std::is_same< ::__gmp_expr< T , T >,Type>::value )); namespace CGAL { diff --git a/Number_types/include/CGAL/mpz_class.h b/Number_types/include/CGAL/mpz_class.h index 484a79d016a..9b868199f9f 100644 --- a/Number_types/include/CGAL/mpz_class.h +++ b/Number_types/include/CGAL/mpz_class.h @@ -32,13 +32,14 @@ #include #include #include -#include #include #include +#include + #define CGAL_CHECK_GMP_EXPR \ CGAL_static_assertion( \ - (::boost::is_same< ::__gmp_expr< T , T >,Type>::value )); + (::std::is_same< ::__gmp_expr< T , T >,Type>::value )); namespace CGAL { diff --git a/Number_types/include/CGAL/number_type_basic.h b/Number_types/include/CGAL/number_type_basic.h index 918e3bd521c..b73c935eb17 100644 --- a/Number_types/include/CGAL/number_type_basic.h +++ b/Number_types/include/CGAL/number_type_basic.h @@ -23,8 +23,8 @@ #include // basic tools needed in several files -#include #include +#include #include diff --git a/Number_types/include/CGAL/simplest_rational_in_interval.h b/Number_types/include/CGAL/simplest_rational_in_interval.h index bad646acc28..374d89e1fd2 100644 --- a/Number_types/include/CGAL/simplest_rational_in_interval.h +++ b/Number_types/include/CGAL/simplest_rational_in_interval.h @@ -43,10 +43,10 @@ simplest_rational_in_interval(double x, double y) { // Must be a fraction CGAL_USE_TYPE(Is_fraction); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); // Numerator_type,Denominator_type must be the same CGAL_USE_TYPE(Denominator_type); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); if(x == y){ diff --git a/Number_types/include/CGAL/to_rational.h b/Number_types/include/CGAL/to_rational.h index 2dfae53c64f..add67aeb6cc 100644 --- a/Number_types/include/CGAL/to_rational.h +++ b/Number_types/include/CGAL/to_rational.h @@ -34,9 +34,9 @@ to_rational(double x) typedef typename FT::Denominator_type Denominator_type; typename FT::Compose compose; - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); CGAL_USE_TYPE(Is_fraction); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); CGAL_USE_TYPE(Denominator_type); Numerator_type num(0),den(1); diff --git a/Number_types/test/Number_types/Lazy_exact_nt_new.cpp b/Number_types/test/Number_types/Lazy_exact_nt_new.cpp index d7ec7182923..54a1ea8581e 100644 --- a/Number_types/test/Number_types/Lazy_exact_nt_new.cpp +++ b/Number_types/test/Number_types/Lazy_exact_nt_new.cpp @@ -81,9 +81,9 @@ void test_lazy_exact_nt() { typedef CGAL::Lazy_exact_nt< typename AK::Integer > LI; typedef CGAL::Lazy_exact_nt< typename AK::Rational > LR; typedef CGAL::Coercion_traits CT; - CGAL_static_assertion((boost::is_same< typename CT::Are_implicit_interoperable,CGAL::Tag_true>::value)); - CGAL_static_assertion((boost::is_same< typename CT::Are_explicit_interoperable,CGAL::Tag_true>::value)); - CGAL_static_assertion((boost::is_same< typename CT::Type,LR>::value)); + CGAL_static_assertion((std::is_same< typename CT::Are_implicit_interoperable,CGAL::Tag_true>::value)); + CGAL_static_assertion((std::is_same< typename CT::Are_explicit_interoperable,CGAL::Tag_true>::value)); + CGAL_static_assertion((std::is_same< typename CT::Type,LR>::value)); LI i(4); LR r(4); @@ -99,8 +99,8 @@ void test_lazy_exact_nt() { typedef CGAL::Lazy_exact_nt T1; typedef CGAL::Lazy_exact_nt T2; typedef CGAL::Coercion_traits CT; - CGAL_static_assertion((boost::is_same< typename CT::Are_implicit_interoperable,CGAL::Tag_false>::value)); - CGAL_static_assertion((boost::is_same< typename CT::Are_explicit_interoperable,CGAL::Tag_false>::value)); + CGAL_static_assertion((std::is_same< typename CT::Are_implicit_interoperable,CGAL::Tag_false>::value)); + CGAL_static_assertion((std::is_same< typename CT::Are_explicit_interoperable,CGAL::Tag_false>::value)); #endif #endif } diff --git a/Number_types/test/Number_types/Quotient_new.cpp b/Number_types/test/Number_types/Quotient_new.cpp index 03666912aa7..9b1d587f4fb 100644 --- a/Number_types/test/Number_types/Quotient_new.cpp +++ b/Number_types/test/Number_types/Quotient_new.cpp @@ -62,9 +62,9 @@ void test_quotient() { typedef CGAL::Quotient QI; typedef CGAL::Coercion_traits CT; CGAL_USE_TYPE(CT); - CGAL_static_assertion((boost::is_same< typename CT::Are_explicit_interoperable,CGAL::Tag_true>::value)); - CGAL_static_assertion((boost::is_same< typename CT::Are_implicit_interoperable,CGAL::Tag_true>::value)); - CGAL_static_assertion((boost::is_same< typename CT::Type,QI>::value)); + CGAL_static_assertion((std::is_same< typename CT::Are_explicit_interoperable,CGAL::Tag_true>::value)); + CGAL_static_assertion((std::is_same< typename CT::Are_implicit_interoperable,CGAL::Tag_true>::value)); + CGAL_static_assertion((std::is_same< typename CT::Type,QI>::value)); } } diff --git a/Number_types/test/Number_types/Sqrt_extension.h b/Number_types/test/Number_types/Sqrt_extension.h index c329de617d8..7861b52f165 100644 --- a/Number_types/test/Number_types/Sqrt_extension.h +++ b/Number_types/test/Number_types/Sqrt_extension.h @@ -24,7 +24,7 @@ void convert_to(const NT& x, RT& r){ typedef CGAL::Coercion_traits CT; typedef typename CT::Type Type; CGAL_USE_TYPE(Type); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); r = typename CT::Cast()(x); } } //namespace CGAL @@ -427,43 +427,43 @@ void fraction_traits_test(){ CGAL_USE_TYPE(INT_FT3); // RAT_FTs decomposable - assert((boost::is_same< typename RAT_FT1::Is_fraction, + assert((std::is_same< typename RAT_FT1::Is_fraction, CGAL::Tag_true>::value)); - assert((boost::is_same< typename RAT_FT2::Is_fraction, + assert((std::is_same< typename RAT_FT2::Is_fraction, CGAL::Tag_true>::value)); - assert((boost::is_same< typename RAT_FT3::Is_fraction, + assert((std::is_same< typename RAT_FT3::Is_fraction, CGAL::Tag_true>::value)); // RAT_FTi Numerator_type == INTi_EXT - assert((boost::is_same< typename RAT_FT1::Numerator_type, + assert((std::is_same< typename RAT_FT1::Numerator_type, INT1_EXT>::value)); - assert((boost::is_same< typename RAT_FT2::Numerator_type, + assert((std::is_same< typename RAT_FT2::Numerator_type, INT2_EXT>::value)); - assert((boost::is_same< typename RAT_FT3::Numerator_type, + assert((std::is_same< typename RAT_FT3::Numerator_type, INT3_EXT>::value)); // RAT_FTi Denomiantor == INT - assert((boost::is_same< typename RAT_FT1::Denominator_type, + assert((std::is_same< typename RAT_FT1::Denominator_type, INT>::value)); - assert((boost::is_same< typename RAT_FT2::Denominator_type, + assert((std::is_same< typename RAT_FT2::Denominator_type, INT>::value)); - assert((boost::is_same< typename RAT_FT3::Denominator_type, + assert((std::is_same< typename RAT_FT3::Denominator_type, INT>::value)); // INT_FTs not decomposable - assert((boost::is_same< typename INT_FT1::Is_fraction, + assert((std::is_same< typename INT_FT1::Is_fraction, CGAL::Tag_false>::value)); - assert((boost::is_same< typename INT_FT2::Is_fraction, + assert((std::is_same< typename INT_FT2::Is_fraction, CGAL::Tag_false>::value)); - assert((boost::is_same< typename INT_FT2::Is_fraction, + assert((std::is_same< typename INT_FT2::Is_fraction, CGAL::Tag_false>::value)); { typedef CGAL::Sqrt_extension RAT_RAT_EXT; typedef CGAL::Fraction_traits RAT_RAT_FT; - assert((boost::is_same< typename RAT_RAT_FT::Is_fraction, + assert((std::is_same< typename RAT_RAT_FT::Is_fraction, CGAL::Tag_false>::value)); }{ typedef CGAL::Sqrt_extension INT_nEXT; typedef CGAL::Fraction_traits INT_nEXT_FT; - assert((boost::is_same< typename INT_nEXT_FT::Is_fraction, + assert((std::is_same< typename INT_nEXT_FT::Is_fraction, CGAL::Tag_false>::value)); } @@ -522,7 +522,7 @@ void scalar_factor_traits_test(){ typename SFT::Scalar_factor sfac; typename SFT::Scalar_div sdiv; - assert( (boost::is_same::value) ); + assert( (std::is_same::value) ); assert((sfac(EXT1(0)))==Integer(0)); assert((sfac(EXT1(3)))==Integer(3)); @@ -539,7 +539,7 @@ void scalar_factor_traits_test(){ typename SFT::Scalar_factor sfac; typename SFT::Scalar_div sdiv; - assert( (boost::is_same::value) ); + assert( (std::is_same::value) ); assert((sfac(EXT2(0)))==Integer(0)); assert((sfac(EXT2(3)))==Integer(3)); @@ -555,7 +555,7 @@ void scalar_factor_traits_test(){ typedef typename SFT::Scalar Scalar; typename SFT::Scalar_factor sfac; - assert( (boost::is_same::value) ); + assert( (std::is_same::value) ); assert((sfac(EXT1(0))) ==Integer(0)); assert((sfac(EXT1(9),Integer(15))) ==Integer(3)); @@ -700,17 +700,17 @@ void test_get_arithmetic_kernel(){ typedef CGAL::Sqrt_extension EXT; typedef typename CGAL::Get_arithmetic_kernel::Arithmetic_kernel AT_; CGAL_USE_TYPE(AT_); - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); } { typedef CGAL::Sqrt_extension EXT; typedef typename CGAL::Get_arithmetic_kernel::Arithmetic_kernel AT_; CGAL_USE_TYPE(AT_); - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); } { typedef CGAL::Sqrt_extension EXT; typedef typename CGAL::Get_arithmetic_kernel::Arithmetic_kernel AT_; CGAL_USE_TYPE(AT_); - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); } } diff --git a/Number_types/test/Number_types/checked_NT.h b/Number_types/test/Number_types/checked_NT.h index 7a733b0021e..18acef9c220 100644 --- a/Number_types/test/Number_types/checked_NT.h +++ b/Number_types/test/Number_types/checked_NT.h @@ -7,7 +7,8 @@ #include #include #include -#include + +#include namespace CGAL { template @@ -20,8 +21,8 @@ struct checked_NT { checked_NT():x1(),x2(){verify();} checked_NT(checked_NT const&t):x1(t.x1),x2(t.x2){verify();} checked_NT& operator=(checked_NT const&t){x1=t.x1;x2=t.x2;verify();return *this;} - template checked_NT(T const&t,typename boost::enable_if,int>::type=0):x1(t),x2(t){verify();} - template explicit checked_NT(T const&t,typename boost::disable_if,int>::type=0):x1(t),x2(t){verify();} + template checked_NT(T const&t,std::enable_if_t::value,int> = 0):x1(t),x2(t){verify();} + template explicit checked_NT(T const&t,std::enable_if_t::value,int> = 0):x1(t),x2(t){verify();} /*TODO: enable_if to restrict the types*/ template checked_NT& operator=(T const&t){x1=t;x2=t;verify();return *this;} checked_NT operator-()const{return checked_NT(pieces(),-x1,-x2);} diff --git a/Number_types/test/Number_types/include/CGAL/Test/test_root_of_2_traits.h b/Number_types/test/Number_types/include/CGAL/Test/test_root_of_2_traits.h index da67b5464d4..bb979e588f3 100644 --- a/Number_types/test/Number_types/include/CGAL/Test/test_root_of_2_traits.h +++ b/Number_types/test/Number_types/include/CGAL/Test/test_root_of_2_traits.h @@ -7,12 +7,12 @@ void test_root_of_traits(){ typedef typename RoT::Root_of_1 Root_of_1; typedef typename RoT::Root_of_2 Root_of_2; - CGAL_static_assertion((::boost::is_same::value)); - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); typedef typename RoT::Make_root_of_2 Make_root_of_2; typedef typename Make_root_of_2::result_type result_type; - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); const Make_root_of_2& make_root_of_2 = Make_root_of_2(); Root_of_2 r = make_root_of_2(T(0),T(-1),T(2)); //-sqrt(2) diff --git a/Number_types/test/Number_types/test_nt_Coercion_traits.cpp b/Number_types/test/Number_types/test_nt_Coercion_traits.cpp index a7caf27ac5e..ad73c7555c6 100644 --- a/Number_types/test/Number_types/test_nt_Coercion_traits.cpp +++ b/Number_types/test/Number_types/test_nt_Coercion_traits.cpp @@ -144,9 +144,9 @@ void AT_coercion_test_for_cgal_types_rat(){ typedef typename AT::Bigfloat_interval Bigfloat_interval; CGAL_USE_TYPE(Bigfloat_interval); - CGAL_static_assertion(!(::boost::is_same::value)); - CGAL_static_assertion(!(::boost::is_same::value)); - CGAL_static_assertion(!(::boost::is_same::value)); + CGAL_static_assertion(!(::std::is_same::value)); + CGAL_static_assertion(!(::std::is_same::value)); + CGAL_static_assertion(!(::std::is_same::value)); CGAL::test_explicit_interoperable_from_to(); CGAL::test_explicit_interoperable_from_to(); @@ -205,10 +205,10 @@ void AT_coercion_test_for_cgal_types_fws(){ typedef typename AT::Field_with_sqrt Real; CGAL_USE_TYPE(Bigfloat_interval); - CGAL_static_assertion(!(::boost::is_same::value)); - CGAL_static_assertion(!(::boost::is_same::value)); - CGAL_static_assertion(!(::boost::is_same::value)); - CGAL_static_assertion(!(::boost::is_same::value)); + CGAL_static_assertion(!(::std::is_same::value)); + CGAL_static_assertion(!(::std::is_same::value)); + CGAL_static_assertion(!(::std::is_same::value)); + CGAL_static_assertion(!(::std::is_same::value)); typedef CGAL::Sqrt_extension Extn_1; diff --git a/Optimal_bounding_box/include/CGAL/Optimal_bounding_box/oriented_bounding_box.h b/Optimal_bounding_box/include/CGAL/Optimal_bounding_box/oriented_bounding_box.h index 75c0a8cf266..649dd8e3020 100644 --- a/Optimal_bounding_box/include/CGAL/Optimal_bounding_box/oriented_bounding_box.h +++ b/Optimal_bounding_box/include/CGAL/Optimal_bounding_box/oriented_bounding_box.h @@ -36,7 +36,6 @@ #include #include -#include #include #include @@ -163,9 +162,9 @@ void construct_oriented_bounding_box(const PointRange& points, Array& obb_points, CGAL::Random& rng, const Traits& traits, - typename boost::enable_if< - typename boost::has_range_iterator - >::type* = 0) + std::enable_if_t< + boost::has_range_iterator::value + >* = 0) { typename Traits::Aff_transformation_3 transformation, inverse_transformation; compute_best_transformation(points, transformation, inverse_transformation, rng, traits); @@ -178,9 +177,9 @@ void construct_oriented_bounding_box(const PointRange& points, PolygonMesh& pm, CGAL::Random& rng, const Traits& traits, - typename boost::disable_if< - typename boost::has_range_iterator - >::type* = 0) + std::enable_if_t< + !boost::has_range_iterator::value + >* = 0) { typename Traits::Aff_transformation_3 transformation, inverse_transformation; compute_best_transformation(points, transformation, inverse_transformation, rng, traits); @@ -317,9 +316,9 @@ void oriented_bounding_box(const PointRange& points, Output& out, const NamedParameters& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if< - typename boost::has_range_iterator - >::type* = 0 + , std::enable_if_t< + boost::has_range_iterator::value + >* = 0 #endif ) { @@ -420,9 +419,9 @@ void oriented_bounding_box(const PolygonMesh& pmesh, Output& out, const NamedParameters& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::disable_if< - typename boost::has_range_iterator - >::type* = 0 + , std::enable_if_t< + !boost::has_range_iterator::value + >* = 0 #endif ) { diff --git a/Periodic_2_triangulation_2/include/CGAL/Periodic_2_Delaunay_triangulation_2.h b/Periodic_2_triangulation_2/include/CGAL/Periodic_2_Delaunay_triangulation_2.h index ccc18de4d15..71c327057ae 100644 --- a/Periodic_2_triangulation_2/include/CGAL/Periodic_2_Delaunay_triangulation_2.h +++ b/Periodic_2_triangulation_2/include/CGAL/Periodic_2_Delaunay_triangulation_2.h @@ -207,11 +207,11 @@ public: std::ptrdiff_t insert(InputIterator first, InputIterator last, bool is_large_point_set = true, - typename boost::enable_if < + std::enable_if_t < boost::is_convertible < typename std::iterator_traits::value_type, Point - > >::type* = nullptr) + >::value >* = nullptr) #else template < class InputIterator > std::ptrdiff_t @@ -419,11 +419,11 @@ public: insert( InputIterator first, InputIterator last, bool is_large_point_set = true, - typename boost::enable_if < + std::enable_if_t < boost::is_convertible < typename std::iterator_traits::value_type, std::pair::type> - > >::type* = nullptr + >::value >* = nullptr ) { return insert_with_info< std::pair::type> >(first, last, is_large_point_set); @@ -434,11 +434,11 @@ public: insert( boost::zip_iterator< boost::tuple > first, boost::zip_iterator< boost::tuple > last, bool is_large_point_set = true, - typename boost::enable_if < + std::enable_if_t < boost::mpl::and_ < boost::is_convertible< typename std::iterator_traits::value_type, Point >, boost::is_convertible< typename std::iterator_traits::value_type, typename internal::Info_check::type > - > >::type* = nullptr) + >::value >* = nullptr) { return insert_with_info< boost::tuple::type> >(first, last, is_large_point_set); } diff --git a/Periodic_3_mesh_3/include/CGAL/Periodic_3_mesh_3/Protect_edges_sizing_field.h b/Periodic_3_mesh_3/include/CGAL/Periodic_3_mesh_3/Protect_edges_sizing_field.h index 9c4d91afea9..6ea15ec5ad7 100644 --- a/Periodic_3_mesh_3/include/CGAL/Periodic_3_mesh_3/Protect_edges_sizing_field.h +++ b/Periodic_3_mesh_3/include/CGAL/Periodic_3_mesh_3/Protect_edges_sizing_field.h @@ -556,7 +556,7 @@ Protect_edges_sizing_field:: operator()(const bool refine) { // This class is only meant to be used with periodic triangulations - CGAL_assertion((boost::is_same::value)); + CGAL_assertion((std::is_same::value)); #ifdef CGAL_MESH_3_VERBOSE std::cerr << "Inserting protection balls..." << std::endl diff --git a/Point_set_3/include/CGAL/Point_set_3/IO/PLY.h b/Point_set_3/include/CGAL/Point_set_3/IO/PLY.h index 725d15ff120..9a9b7fcddb7 100644 --- a/Point_set_3/include/CGAL/Point_set_3/IO/PLY.h +++ b/Point_set_3/include/CGAL/Point_set_3/IO/PLY.h @@ -505,7 +505,7 @@ bool write_PLY(std::ostream& os, if(prop[i] == "point") { - if(boost::is_same::type, float>::value) + if(std::is_same::type, float>::value) { os << "property float x" << std::endl << "property float y" << std::endl @@ -522,7 +522,7 @@ bool write_PLY(std::ostream& os, } if(prop[i] == "normal") { - if(boost::is_same::type, float>::value) + if(std::is_same::type, float>::value) { os << "property float nx" << std::endl << "property float ny" << std::endl diff --git a/Point_set_processing_3/include/CGAL/IO/read_las_points.h b/Point_set_processing_3/include/CGAL/IO/read_las_points.h index beb35f44355..0fafe579ba8 100644 --- a/Point_set_processing_3/include/CGAL/IO/read_las_points.h +++ b/Point_set_processing_3/include/CGAL/IO/read_las_points.h @@ -23,7 +23,7 @@ #include #include -#include +#include #include #include @@ -476,7 +476,7 @@ bool read_LAS(std::istream& is, template bool read_LAS(std::istream& is, OutputIterator output, const CGAL_NP_CLASS& np = parameters::default_values(), - typename std::enable_if::value>::type* = nullptr) + std::enable_if_t::value>* = nullptr) { return read_LAS::type>(is, output, np); } diff --git a/Point_set_processing_3/include/CGAL/IO/read_off_points.h b/Point_set_processing_3/include/CGAL/IO/read_off_points.h index 783fd20c1fc..e50db48ca36 100644 --- a/Point_set_processing_3/include/CGAL/IO/read_off_points.h +++ b/Point_set_processing_3/include/CGAL/IO/read_off_points.h @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include @@ -82,7 +82,7 @@ bool read_OFF(std::istream& is, PointOutputIterator output, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename std::enable_if::value>::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -244,7 +244,7 @@ bool read_OFF(const std::string& fname, PointOutputIterator output, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename std::enable_if::value>::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -258,14 +258,14 @@ bool read_OFF(const std::string& fname, template bool read_OFF(std::istream& is, OutputIterator output, const CGAL_NP_CLASS& np = parameters::default_values(), - typename std::enable_if::value>::type* = nullptr) + std::enable_if_t::value>* = nullptr) { return read_OFF::type>(is, output, np); } template bool read_OFF(const std::string& fname, OutputIterator output, const CGAL_NP_CLASS& np = parameters::default_values(), - typename std::enable_if::value>::type* = nullptr) + std::enable_if_t::value>* = nullptr) { std::ifstream is(fname); return read_OFF::type>(is, output, np); diff --git a/Point_set_processing_3/include/CGAL/IO/read_ply_points.h b/Point_set_processing_3/include/CGAL/IO/read_ply_points.h index 1a0f7ed547b..5ecedc40b68 100644 --- a/Point_set_processing_3/include/CGAL/IO/read_ply_points.h +++ b/Point_set_processing_3/include/CGAL/IO/read_ply_points.h @@ -244,7 +244,7 @@ bool read_PLY(std::istream& is, PointOutputIterator output, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename std::enable_if::value>::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -326,7 +326,7 @@ bool read_PLY(const std::string& fname, PointOutputIterator output, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename std::enable_if::value>::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -350,14 +350,14 @@ bool read_PLY(const std::string& fname, // variants with default output iterator value type template bool read_PLY(std::istream& is, OutputIterator output, const CGAL_NP_CLASS& np = parameters::default_values(), - typename std::enable_if::value>::type* = nullptr) + std::enable_if_t::value>* = nullptr) { return read_PLY::type>(is, output, np); } template bool read_PLY(const std::string& fname, OutputIterator output, const CGAL_NP_CLASS& np = parameters::default_values(), - typename std::enable_if::value>::type* = nullptr) + std::enable_if_t::value>* = nullptr) { return read_PLY::type>(fname, output, np); } diff --git a/Point_set_processing_3/include/CGAL/IO/read_xyz_points.h b/Point_set_processing_3/include/CGAL/IO/read_xyz_points.h index 793c7e2e85f..a420f5068b7 100644 --- a/Point_set_processing_3/include/CGAL/IO/read_xyz_points.h +++ b/Point_set_processing_3/include/CGAL/IO/read_xyz_points.h @@ -19,7 +19,7 @@ #include #include #include -#include +#include #include #include @@ -237,7 +237,7 @@ bool read_XYZ(const std::string& fname, // variants with default output iterator value type template bool read_XYZ(std::istream& is, OutputIterator output, const CGAL_NP_CLASS& np = parameters::default_values(), - typename std::enable_if::value>::type* = nullptr) + std::enable_if_t::value>* = nullptr) { return read_XYZ::type>(is, output, np); } diff --git a/Point_set_processing_3/include/CGAL/IO/write_las_points.h b/Point_set_processing_3/include/CGAL/IO/write_las_points.h index aa153ec4c44..234255d599b 100644 --- a/Point_set_processing_3/include/CGAL/IO/write_las_points.h +++ b/Point_set_processing_3/include/CGAL/IO/write_las_points.h @@ -26,7 +26,6 @@ #include #include -#include #ifdef BOOST_MSVC # pragma warning(push) @@ -57,6 +56,7 @@ #include #include #include +#include namespace CGAL { @@ -282,7 +282,7 @@ bool write_LAS(std::ostream& os, const PointRange& points, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -337,7 +337,7 @@ bool write_LAS(const std::string& filename, const PointRange& points, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { diff --git a/Point_set_processing_3/include/CGAL/IO/write_off_points.h b/Point_set_processing_3/include/CGAL/IO/write_off_points.h index f89ca2a28c0..5be867b5ecf 100644 --- a/Point_set_processing_3/include/CGAL/IO/write_off_points.h +++ b/Point_set_processing_3/include/CGAL/IO/write_off_points.h @@ -23,12 +23,11 @@ #include #include -#include - #include #include #include #include +#include namespace CGAL { namespace Point_set_processing_3 { @@ -133,7 +132,7 @@ bool write_OFF(std::ostream& os, const PointRange& points, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -189,7 +188,7 @@ bool write_OFF(const std::string& filename, const PointRange& points, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { diff --git a/Point_set_processing_3/include/CGAL/IO/write_ply_points.h b/Point_set_processing_3/include/CGAL/IO/write_ply_points.h index 38b361ff779..7da025f7640 100644 --- a/Point_set_processing_3/include/CGAL/IO/write_ply_points.h +++ b/Point_set_processing_3/include/CGAL/IO/write_ply_points.h @@ -24,13 +24,13 @@ #include #include -#include #include #include #include #include #include +#include namespace CGAL { @@ -189,7 +189,7 @@ bool write_PLY(std::ostream& os, const PointRange& points, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -277,7 +277,7 @@ bool write_PLY(const std::string& filename, const PointRange& points, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { diff --git a/Point_set_processing_3/include/CGAL/IO/write_points.h b/Point_set_processing_3/include/CGAL/IO/write_points.h index 712c03e03a6..1cdec284475 100644 --- a/Point_set_processing_3/include/CGAL/IO/write_points.h +++ b/Point_set_processing_3/include/CGAL/IO/write_points.h @@ -93,7 +93,7 @@ bool write_points(const std::string& fname, const PointRange& points, const CGAL_NP_CLASS& np = parameters::default_values(), #ifndef DOXYGEN_RUNNING - typename boost::enable_if >::type* = nullptr + std::enable_if_t::value>* = nullptr #endif ) { diff --git a/Point_set_processing_3/include/CGAL/IO/write_xyz_points.h b/Point_set_processing_3/include/CGAL/IO/write_xyz_points.h index 73610c9545f..f75296c7dc9 100644 --- a/Point_set_processing_3/include/CGAL/IO/write_xyz_points.h +++ b/Point_set_processing_3/include/CGAL/IO/write_xyz_points.h @@ -24,11 +24,10 @@ #include #include -#include - #include #include #include +#include namespace CGAL { namespace Point_set_processing_3 { @@ -127,7 +126,7 @@ bool write_XYZ(std::ostream& os, const PointRange& points, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -180,7 +179,7 @@ bool write_XYZ(const std::string& filename, const PointRange& points, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { diff --git a/Point_set_processing_3/include/CGAL/OpenGR/compute_registration_transformation.h b/Point_set_processing_3/include/CGAL/OpenGR/compute_registration_transformation.h index 7a439b3e0c9..3bbddd10130 100644 --- a/Point_set_processing_3/include/CGAL/OpenGR/compute_registration_transformation.h +++ b/Point_set_processing_3/include/CGAL/OpenGR/compute_registration_transformation.h @@ -22,7 +22,6 @@ #include #include -#include #include #include @@ -30,6 +29,8 @@ #include +#include + namespace CGAL { namespace OpenGR { @@ -308,14 +309,14 @@ compute_registration_transformation (const PointRange1& point_set_1, const Point typedef Point_set_processing_3_np_helper NP_helper2; typedef typename NP_helper1::Const_point_map PointMap1; typedef typename NP_helper2::Const_point_map PointMap2; - CGAL_static_assertion_msg((boost::is_same< typename boost::property_traits::value_type, - typename boost::property_traits::value_type> ::value), + CGAL_static_assertion_msg((std::is_same< typename boost::property_traits::value_type, + typename boost::property_traits::value_type> ::value), "The point type of input ranges must be the same"); typedef typename NP_helper1::Normal_map NormalMap1; typedef typename NP_helper2::Normal_map NormalMap2; - CGAL_static_assertion_msg((boost::is_same< typename boost::property_traits::value_type, - typename boost::property_traits::value_type> ::value), + CGAL_static_assertion_msg((std::is_same< typename boost::property_traits::value_type, + typename boost::property_traits::value_type> ::value), "The vector type of input ranges must be the same"); typedef typename NP_helper1::Geom_traits Kernel; diff --git a/Point_set_processing_3/include/CGAL/OpenGR/register_point_sets.h b/Point_set_processing_3/include/CGAL/OpenGR/register_point_sets.h index 345eaa650d2..81fb00fc5e3 100644 --- a/Point_set_processing_3/include/CGAL/OpenGR/register_point_sets.h +++ b/Point_set_processing_3/include/CGAL/OpenGR/register_point_sets.h @@ -23,10 +23,10 @@ #include -#include - #include +#include + namespace CGAL { namespace OpenGR { @@ -222,14 +222,14 @@ register_point_sets (const PointRange1& point_set_1, PointRange2& point_set_2, typedef Point_set_processing_3_np_helper NP_helper2; typedef typename NP_helper1::Const_point_map PointMap1; typedef typename NP_helper2::Const_point_map PointMap2; - CGAL_static_assertion_msg((boost::is_same< typename boost::property_traits::value_type, - typename boost::property_traits::value_type> ::value), + CGAL_static_assertion_msg((std::is_same< typename boost::property_traits::value_type, + typename boost::property_traits::value_type> ::value), "The point type of input ranges must be the same"); typedef typename NP_helper1::Normal_map NormalMap1; typedef typename NP_helper2::Normal_map NormalMap2; - CGAL_static_assertion_msg((boost::is_same< typename boost::property_traits::value_type, - typename boost::property_traits::value_type> ::value), + CGAL_static_assertion_msg((std::is_same< typename boost::property_traits::value_type, + typename boost::property_traits::value_type> ::value), "The vector type of input ranges must be the same"); typedef typename NP_helper1::Geom_traits Kernel; diff --git a/Point_set_processing_3/include/CGAL/cluster_point_set.h b/Point_set_processing_3/include/CGAL/cluster_point_set.h index a7c516a5e5f..55b56ec8881 100644 --- a/Point_set_processing_3/include/CGAL/cluster_point_set.h +++ b/Point_set_processing_3/include/CGAL/cluster_point_set.h @@ -145,8 +145,8 @@ std::size_t cluster_point_set (PointRange& points, typedef typename NP_helper::Geom_traits Kernel; typedef typename Point_set_processing_3::GetAdjacencies::type Adjacencies; - CGAL_static_assertion_msg(!(boost::is_same::type, - typename GetSvdTraits::NoTraits>::value), + CGAL_static_assertion_msg(!(std::is_same::type, + typename GetSvdTraits::NoTraits>::value), "Error: no SVD traits"); PointMap point_map = NP_helper::get_point_map(points, np); diff --git a/Point_set_processing_3/include/CGAL/jet_estimate_normals.h b/Point_set_processing_3/include/CGAL/jet_estimate_normals.h index da74d6e93ee..516b2671bdd 100644 --- a/Point_set_processing_3/include/CGAL/jet_estimate_normals.h +++ b/Point_set_processing_3/include/CGAL/jet_estimate_normals.h @@ -197,7 +197,7 @@ jet_estimate_normals( typedef typename GetSvdTraits::type SvdTraits; CGAL_static_assertion_msg(NP_helper::has_normal_map(), "Error: no normal map"); - CGAL_static_assertion_msg(!(boost::is_same::NoTraits>::value), "Error: no SVD traits"); diff --git a/Point_set_processing_3/include/CGAL/jet_smooth_point_set.h b/Point_set_processing_3/include/CGAL/jet_smooth_point_set.h index 50e8a9ad49d..9c6b34b93c3 100644 --- a/Point_set_processing_3/include/CGAL/jet_smooth_point_set.h +++ b/Point_set_processing_3/include/CGAL/jet_smooth_point_set.h @@ -200,7 +200,7 @@ jet_smooth_point_set( typedef typename NP_helper::Geom_traits Kernel; typedef typename GetSvdTraits::type SvdTraits; - CGAL_static_assertion_msg(!(boost::is_same::NoTraits>::value), "Error: no SVD traits"); diff --git a/Point_set_processing_3/include/CGAL/pointmatcher/compute_registration_transformation.h b/Point_set_processing_3/include/CGAL/pointmatcher/compute_registration_transformation.h index 56f70239750..e8dac2ddc2b 100644 --- a/Point_set_processing_3/include/CGAL/pointmatcher/compute_registration_transformation.h +++ b/Point_set_processing_3/include/CGAL/pointmatcher/compute_registration_transformation.h @@ -23,13 +23,12 @@ #include #include -#include - #include #include #include #include +#include namespace CGAL { @@ -608,14 +607,14 @@ compute_registration_transformation (const PointRange1& point_set_1, const Point // property map types typedef typename NP_helper1::Const_point_map PointMap1; typedef typename NP_helper2::Const_point_map PointMap2; - CGAL_static_assertion_msg((boost::is_same< typename boost::property_traits::value_type, - typename boost::property_traits::value_type> ::value), + CGAL_static_assertion_msg((std::is_same< typename boost::property_traits::value_type, + typename boost::property_traits::value_type> ::value), "The point type of input ranges must be the same"); typedef typename NP_helper1::Normal_map NormalMap1; typedef typename NP_helper2::Normal_map NormalMap2; - CGAL_static_assertion_msg((boost::is_same< typename boost::property_traits::value_type, - typename boost::property_traits::value_type> ::value), + CGAL_static_assertion_msg((std::is_same< typename boost::property_traits::value_type, + typename boost::property_traits::value_type> ::value), "The vector type of input ranges must be the same"); typedef typename std::iterator_traits::value_type key_type1; @@ -631,8 +630,8 @@ compute_registration_transformation (const PointRange1& point_set_1, const Point NormalMap2 normal_map2 = NP_helper2::get_normal_map(point_set_2, np2); auto weight_map2 = choose_parameter(get_parameter(np2, internal_np::scalar_map), DefaultWeightMap2(Scalar(1))); - CGAL_static_assertion_msg((boost::is_same< typename boost::property_traits::value_type, - typename boost::property_traits::value_type> ::value), + CGAL_static_assertion_msg((std::is_same< typename boost::property_traits::value_type, + typename boost::property_traits::value_type> ::value), "The scalar type of input ranges must be the same"); // initial transformation diff --git a/Point_set_processing_3/include/CGAL/pointmatcher/register_point_sets.h b/Point_set_processing_3/include/CGAL/pointmatcher/register_point_sets.h index a20733c1ea5..2df8f418fd4 100644 --- a/Point_set_processing_3/include/CGAL/pointmatcher/register_point_sets.h +++ b/Point_set_processing_3/include/CGAL/pointmatcher/register_point_sets.h @@ -23,10 +23,10 @@ #include -#include - #include +#include + namespace CGAL { namespace pointmatcher { diff --git a/Poisson_surface_reconstruction_3/include/CGAL/Poisson_reconstruction_function.h b/Poisson_surface_reconstruction_3/include/CGAL/Poisson_reconstruction_function.h index cb190bbe135..b329573c042 100644 --- a/Poisson_surface_reconstruction_3/include/CGAL/Poisson_reconstruction_function.h +++ b/Poisson_surface_reconstruction_3/include/CGAL/Poisson_reconstruction_function.h @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -46,7 +47,6 @@ #include #include #include -#include #include /*! @@ -380,9 +380,9 @@ public: InputIterator first, ///< iterator over the first input point. InputIterator beyond, ///< past-the-end iterator over the input points. NormalPMap normal_pmap, ///< property map: `value_type of InputIterator` -> `Vector` (the *oriented* normal of an input point). - typename boost::enable_if< - boost::is_convertible::value_type, Point> - >::type* = 0 + std::enable_if_t< + boost::is_convertible::value_type, Point>::value + >* = 0 ) : m_tr(new Triangulation), m_bary(new std::vector) , average_spacing(CGAL::compute_average_spacing(CGAL::make_range(first, beyond), 6)) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/border.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/border.h index 78cb33ce2f9..362d74025c2 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/border.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/border.h @@ -22,10 +22,10 @@ #include #include -#include #include #include +#include namespace CGAL{ namespace Polygon_mesh_processing { diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/fair.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/fair.h index a7c4f67aad9..528f501d83c 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/fair.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/fair.h @@ -26,7 +26,7 @@ #include // for sparse linear system solver #endif -#include +#include namespace CGAL { @@ -152,11 +152,11 @@ namespace internal { #if defined(CGAL_EIGEN3_ENABLED) CGAL_static_assertion_msg( - (!boost::is_same::type, bool>::value) || EIGEN_VERSION_AT_LEAST(3, 2, 0), + (!std::is_same::type, bool>::value) || EIGEN_VERSION_AT_LEAST(3, 2, 0), "The function `fair` requires Eigen3 version 3.2 or later."); #else CGAL_static_assertion_msg( - (!boost::is_same::type, bool>::value), + (!std::is_same::type, bool>::value), "The function `fair` requires Eigen3 version 3.2 or later."); #endif diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Corefinement/face_graph_utils.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Corefinement/face_graph_utils.h index 1c2b6de4581..bff8f35189f 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Corefinement/face_graph_utils.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Corefinement/face_graph_utils.h @@ -19,12 +19,13 @@ #include #include #include -#include #include #include #include #include #include +#include + namespace CGAL { namespace Polygon_mesh_processing { namespace Corefinement { @@ -386,7 +387,7 @@ struct TweakedGetVertexPointMap { typedef typename GetVertexPointMap::type Default_map; - typedef typename boost::is_same::value_type>::type Use_default_tag; typedef typename boost::mpl::if_< @@ -399,7 +400,7 @@ struct TweakedGetVertexPointMap template boost::optional< typename TweakedGetVertexPointMap::type > -get_vpm(const NP& np, boost::optional opm, boost::true_type) +get_vpm(const NP& np, boost::optional opm, std::true_type) { if (boost::none == opm) return boost::none; return parameters::choose_parameter( @@ -409,7 +410,7 @@ get_vpm(const NP& np, boost::optional opm, boost::true_type) template boost::optional< typename TweakedGetVertexPointMap::type > -get_vpm(const NP&, boost::optional opm, boost::false_type) +get_vpm(const NP&, boost::optional opm, std::false_type) { if (boost::none == opm) return boost::none; return typename TweakedGetVertexPointMap::type(); diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h index c7c4c15e655..0dc2f54f2b4 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h @@ -1532,7 +1532,7 @@ private: } // update status using constrained edge map - if (!boost::is_same >::value) { for(edge_descriptor e : edges(mesh_)) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/intersection.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/intersection.h index 2fc0d96751c..b4c79ee345c 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/intersection.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/intersection.h @@ -29,14 +29,13 @@ #include #include -#include -#include #include #include #include #include #include +#include namespace CGAL { namespace Polygon_mesh_processing{ @@ -427,7 +426,7 @@ compute_face_face_intersection(const FaceRange& face_range1, VertexPointMap2 vpmap2 = choose_parameter(get_parameter(np2, internal_np::vertex_point), get_const_property_map(boost::vertex_point, tm2)); CGAL_static_assertion( - (boost::is_same< + (std::is_same< typename boost::property_traits::value_type, typename boost::property_traits::value_type >::value) ); @@ -545,7 +544,7 @@ compute_face_polyline_intersection(const FaceRange& face_range, get_const_property_map(boost::vertex_point, tm)); typedef typename boost::property_traits::value_type Point; CGAL_static_assertion( - (boost::is_same::type>::value)); std::vector faces; @@ -682,7 +681,7 @@ compute_face_polylines_intersection(const FaceRange& face_range, get_const_property_map(boost::vertex_point, tm)); typedef typename boost::property_traits::value_type Point; typedef typename boost::range_value::type Polyline; - CGAL_static_assertion((boost::is_same::type>::value)); + CGAL_static_assertion((std::is_same::type>::value)); std::vector faces; faces.reserve(std::distance( boost::begin(face_range), boost::end(face_range) )); @@ -1143,14 +1142,14 @@ template bool do_intersect(const PolylineRange& polylines1, const PolylineRange& polylines2 #ifndef DOXYGEN_RUNNING - , const typename boost::enable_if< - typename boost::has_range_iterator< + , const std::enable_if_t< + boost::has_range_iterator< typename boost::mpl::eval_if< boost::has_range_iterator, boost::range_value, boost::false_type >::type - >::type - >::type* = 0//end enable_if + >::value + >* = 0//end enable_if #endif ) { @@ -1187,18 +1186,18 @@ template bool do_intersect(const Polyline& polyline1, const Polyline& polyline2 #ifndef DOXYGEN_RUNNING - , const typename boost::enable_if< - typename boost::has_range_const_iterator::type - >::type* = 0, - const typename boost::disable_if< - typename boost::has_range_iterator< + , const std::enable_if_t< + boost::has_range_const_iterator::value + >* = 0, + const std::enable_if_t< + !boost::has_range_iterator< typename boost::mpl::eval_if< boost::has_range_iterator, boost::range_value, boost::false_type >::type - >::type - >::type* = 0//end enable_if + >::value + >* = 0//end enable_if #endif ) { @@ -1275,9 +1274,9 @@ bool do_intersect(const TriangleMesh& tm1, const CGAL_NP_CLASS_1& np1 = parameters::default_values(), const CGAL_NP_CLASS_2& np2 = parameters::default_values() #ifndef DOXYGEN_RUNNING - , const typename boost::disable_if< - typename boost::has_range_const_iterator::type - >::type* = 0 + , const std::enable_if_t< + !boost::has_range_const_iterator::value + >* = 0 #endif ) { @@ -1361,15 +1360,15 @@ bool do_intersect(const TriangleMesh& tm, const PolylineRange& polylines, const NamedParameters& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , const typename boost::enable_if< - typename boost::has_range_iterator< + , const std::enable_if_t< + boost::has_range_iterator< typename boost::mpl::eval_if< boost::has_range_iterator, boost::range_value, boost::false_type >::type - >::type - >::type* = 0//end enable_if + >::value + >* = 0//end enable_if #endif ) { @@ -1428,9 +1427,9 @@ bool do_intersect(const TriangleMesh& tm, const Polyline& polyline, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , const typename boost::disable_if< - typename boost::mpl::or_< - typename boost::is_same::type, // Added to please MSVC 2015 + , const std::enable_if_t< + ! boost::mpl::or_< + typename std::is_same::type, // Added to please MSVC 2015 typename boost::mpl::not_::type>::type, // not a range typename boost::has_range_iterator< typename boost::mpl::eval_if< @@ -1439,8 +1438,8 @@ bool do_intersect(const TriangleMesh& tm, boost::false_type >::type >::type // not a range of a range - >::type - >::type* = 0 + >::value + >* = 0 #endif ) { diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/locate.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/locate.h index 1d1033a41b2..323c0fbb089 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/locate.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/locate.h @@ -1492,10 +1492,10 @@ template void build_AABB_tree(const TriangleMesh& tm, AABB_tree& outTree, const VPM& wrapped_vpm, - typename std::enable_if< + std::enable_if_t< std::is_same< typename AABBTraits::Point_3, typename boost::property_traits::value_type - >::value>::type* = 0) + >::value>* = 0) { typename boost::graph_traits::face_iterator ffirst, fbeyond; boost::tie(ffirst, fbeyond) = faces(tm); @@ -1507,10 +1507,10 @@ template void build_AABB_tree(const TriangleMesh& tm, AABB_tree& outTree, const VPM& vpm, - typename std::enable_if< + std::enable_if_t< !std::is_same< typename AABBTraits::Point_3, typename boost::property_traits::value_type - >::value>::type* = 0) + >::value>* = 0) { typedef internal::Point_to_Point_3_VPM Wrapped_VPM; const Wrapped_VPM wrapped_vpm(vpm); diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h index a0841748aee..85b8dea7f29 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h @@ -987,7 +987,7 @@ void match_faces(const PolygonMesh1& m1, get_const_property_map(vertex_point, m1)); const VPMap2 vpm2 = choose_parameter(get_parameter(np2, internal_np::vertex_point), get_const_property_map(vertex_point, m2)); - CGAL_static_assertion_msg((boost::is_same::value_type, + CGAL_static_assertion_msg((std::is_same::value_type, typename boost::property_traits::value_type>::value), "Both vertex point maps must have the same point type."); diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_degeneracies.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_degeneracies.h index fbe30e7e26f..a553a07dcb1 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_degeneracies.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_degeneracies.h @@ -31,7 +31,6 @@ #endif #include -#include #include #include diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/smooth_shape.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/smooth_shape.h index 9fc55050273..c71cf8b1d0b 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/smooth_shape.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/smooth_shape.h @@ -142,11 +142,11 @@ void smooth_shape(const FaceRange& faces, #if defined(CGAL_EIGEN3_ENABLED) CGAL_static_assertion_msg( - (!boost::is_same::type, bool>::value) || EIGEN_VERSION_AT_LEAST(3, 2, 0), + (!std::is_same::type, bool>::value) || EIGEN_VERSION_AT_LEAST(3, 2, 0), "Eigen3 version 3.2 or later is required."); #else CGAL_static_assertion_msg( - (!boost::is_same::type, bool>::value), + (!std::is_same::type, bool>::value), "Eigen3 version 3.2 or later is required."); #endif diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/stitch_borders.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/stitch_borders.h index 7fdd1a05fc3..abe9160944c 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/stitch_borders.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/stitch_borders.h @@ -33,7 +33,6 @@ #include #include -#include #include #include @@ -44,6 +43,7 @@ #include #include #include +#include #ifdef CGAL_PMP_STITCHING_DEBUG_PP # ifndef CGAL_PMP_STITCHING_DEBUG @@ -1306,9 +1306,9 @@ template - >::type* = 0) + std::enable_if_t< + boost::has_range_iterator::value + >* = 0) { using parameters::choose_parameter; using parameters::get_parameter; @@ -1511,9 +1511,9 @@ std::size_t stitch_borders(const BorderHalfedgeRange& boundary_cycle_representat PolygonMesh& pmesh, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if< - typename boost::has_range_iterator - >::type* = 0 + , std::enable_if_t< + boost::has_range_iterator::value + >* = 0 #endif ) { diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_slicer.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_slicer.h index 9c80a2e630a..9712dc9926f 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_slicer.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_slicer.h @@ -23,6 +23,7 @@ #include #include +#include #include #include @@ -30,7 +31,6 @@ #include #include -#include #include #include @@ -80,7 +80,7 @@ template::type >::type, Default, diff --git a/Polygon_mesh_processing/include/CGAL/Polyhedral_envelope.h b/Polygon_mesh_processing/include/CGAL/Polyhedral_envelope.h index ae209a87ff7..759ae6c3cdd 100644 --- a/Polygon_mesh_processing/include/CGAL/Polyhedral_envelope.h +++ b/Polygon_mesh_processing/include/CGAL/Polyhedral_envelope.h @@ -194,7 +194,7 @@ private: template Plane(const Point& p, const Point& q, const Point& r, - typename std::enable_if::value>::type* = 0) + std::enable_if_t::value>* = 0) : ep(p.x(),p.y(),p.z()), eq(q.x(),q.y(),q.z()), er(r.x(),r.y(),r.z()), eplane(ep,eq,er) {} ePoint_3 ep, eq, er; @@ -467,7 +467,7 @@ public: double epsilon, const NamedParameters& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename std::enable_if::value>::type* = 0 + , std::enable_if_t::value>* = 0 #endif ) { @@ -572,7 +572,7 @@ public: double epsilon, const NamedParameters& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename std::enable_if::value>::type* = 0 + , std::enable_if_t::value>* = 0 #endif ) { @@ -2230,7 +2230,7 @@ public: operator()(const TriangleMesh& tmesh, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename std::enable_if::value>::type* = 0 + , std::enable_if_t::value>* = 0 #endif ) const { @@ -2322,7 +2322,7 @@ public: bool operator()(const TriangleRange& triangle_range #ifndef DOXYGEN_RUNNING - , typename std::enable_if::value>::type* = 0 + , std::enable_if_t::value>* = 0 #endif ) const { diff --git a/Polygon_mesh_processing/include/CGAL/Rigid_triangle_mesh_collision_detection.h b/Polygon_mesh_processing/include/CGAL/Rigid_triangle_mesh_collision_detection.h index 312d56d54eb..d990d32b7a2 100644 --- a/Polygon_mesh_processing/include/CGAL/Rigid_triangle_mesh_collision_detection.h +++ b/Polygon_mesh_processing/include/CGAL/Rigid_triangle_mesh_collision_detection.h @@ -246,7 +246,7 @@ public: { // handle vpm typedef typename CGAL::GetVertexPointMap::const_type Local_vpm; - CGAL_static_assertion( (boost::is_same::value) ); + CGAL_static_assertion( (std::is_same::value) ); Vpm vpm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_point), @@ -558,7 +558,7 @@ public: parameters::get_parameter(np, internal_np::apply_per_connected_component), true); typedef typename CGAL::GetVertexPointMap::const_type Local_vpm; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); Vpm vpm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_point), diff --git a/Polyhedron/demo/Polyhedron/include/QMultipleInputDialog.h b/Polyhedron/demo/Polyhedron/include/QMultipleInputDialog.h index e1cc2a8c075..06e8240b4f1 100644 --- a/Polyhedron/demo/Polyhedron/include/QMultipleInputDialog.h +++ b/Polyhedron/demo/Polyhedron/include/QMultipleInputDialog.h @@ -35,7 +35,7 @@ public: { QObjectType* out = nullptr; - if (boost::is_same::value) + if (std::is_same::value) { out = dynamic_cast(new QRadioButton (QString(name), dialog)); form->addRow (out); diff --git a/Polynomial/include/CGAL/Exponent_vector.h b/Polynomial/include/CGAL/Exponent_vector.h index 5f34cb4869b..72c5e1d8f26 100644 --- a/Polynomial/include/CGAL/Exponent_vector.h +++ b/Polynomial/include/CGAL/Exponent_vector.h @@ -19,12 +19,12 @@ #include #include #include +#include #include #include #include #include -#include namespace CGAL { @@ -59,7 +59,7 @@ public: :v(begin,end){ typedef typename std::iterator_traits::value_type value_type; CGAL_USE_TYPE(value_type); - CGAL_static_assertion(( ::boost::is_same::value)); + CGAL_static_assertion(( ::std::is_same::value)); } diff --git a/Polynomial/include/CGAL/Polynomial/Algebraic_structure_traits.h b/Polynomial/include/CGAL/Polynomial/Algebraic_structure_traits.h index ab514131b42..b5576f5489c 100644 --- a/Polynomial/include/CGAL/Polynomial/Algebraic_structure_traits.h +++ b/Polynomial/include/CGAL/Polynomial/Algebraic_structure_traits.h @@ -273,7 +273,7 @@ class Polynomial_algebraic_structure_traits_base< POLY, Field_tag > template < class NT1, class NT2 > void operator()( const NT1& x, const NT2& y, POLY& q, POLY& r ) const { - CGAL_static_assertion((::boost::is_same< + CGAL_static_assertion((::std::is_same< typename Coercion_traits< NT1, NT2 >::Type, POLY >::value)); diff --git a/Polynomial/include/CGAL/Polynomial/Polynomial_type.h b/Polynomial/include/CGAL/Polynomial/Polynomial_type.h index ef33c2ef21e..4b92dd03e1b 100644 --- a/Polynomial/include/CGAL/Polynomial/Polynomial_type.h +++ b/Polynomial/include/CGAL/Polynomial/Polynomial_type.h @@ -487,7 +487,7 @@ public: typedef typename Fraction_traits::Is_fraction Is_fraction; typedef typename Coercion_traits::Type Type; typedef typename ::boost::mpl::if_c< - ::boost::is_same::value, Is_fraction, CGAL::Tag_false + ::std::is_same::value, Is_fraction, CGAL::Tag_false >::type If_decomposable_AND_Type_equals_NT; return sign_at_(x,If_decomposable_AND_Type_equals_NT()); @@ -545,7 +545,7 @@ public: * Also available as non-member function. */ CGAL::Sign sign() const { -// CGAL_static_assertion( (boost::is_same< typename Real_embeddable_traits::Is_real_embeddable, +// CGAL_static_assertion( (std::is_same< typename Real_embeddable_traits::Is_real_embeddable, // CGAL::Tag_true>::value) ); return CGAL::sign(lcoeff()); } diff --git a/Polynomial/include/CGAL/Polynomial/modular_gcd_utils.h b/Polynomial/include/CGAL/Polynomial/modular_gcd_utils.h index 0fc6bc696b4..42a6919b437 100644 --- a/Polynomial/include/CGAL/Polynomial/modular_gcd_utils.h +++ b/Polynomial/include/CGAL/Polynomial/modular_gcd_utils.h @@ -51,7 +51,7 @@ void euclidean_division_obstinate(const Polynomial& F1, int d2 = F2.degree(); if ( d1 < d2 ) { Q = Polynomial(NT(0)); R = F1; - CGAL_postcondition( !(boost::is_same< typename Algebraic_structure_traits::Is_exact, + CGAL_postcondition( !(std::is_same< typename Algebraic_structure_traits::Is_exact, CGAL::Tag_true >::value) || F1 == Q*F2 + R); return; } diff --git a/Polynomial/include/CGAL/Polynomial_traits_d.h b/Polynomial/include/CGAL/Polynomial_traits_d.h index 8b100e7e2e2..5711d385ae3 100644 --- a/Polynomial/include/CGAL/Polynomial_traits_d.h +++ b/Polynomial/include/CGAL/Polynomial_traits_d.h @@ -566,7 +566,7 @@ public: template Polynomial_d construct_value_type(Input_iterator begin, Input_iterator end, NT) const { typedef CGAL::Coercion_traits CT; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); typename CT::Cast cast; return Polynomial_d( boost::make_transform_iterator(begin,cast), @@ -618,7 +618,7 @@ public: operator()( Input_iterator begin, Input_iterator end ) const { if(begin == end ) return Polynomial_d(0); typedef typename std::iterator_traits::value_type value_type; - typedef Boolean_tag::value> + typedef Boolean_tag::value> Is_coeff; std::vector vec(begin,end); return construct(vec.begin(),vec.end(),Is_coeff()); diff --git a/Polynomial/include/CGAL/Test/_test_polynomial_traits_d.h b/Polynomial/include/CGAL/Test/_test_polynomial_traits_d.h index dbb37d309b9..c9097031598 100644 --- a/Polynomial/include/CGAL/Test/_test_polynomial_traits_d.h +++ b/Polynomial/include/CGAL/Test/_test_polynomial_traits_d.h @@ -50,7 +50,7 @@ static CGAL::Random my_rnd(346); // some seed #define ASSERT_IS_NULL_FUNCTOR(T) \ - CGAL_static_assertion((boost::is_same::value)) + CGAL_static_assertion((std::is_same::value)) @@ -179,10 +179,10 @@ void test_construct_polynomial(const Polynomial_traits_d&){ { // Construct_polynomial typedef typename PT::Construct_polynomial Constructor; CGAL_static_assertion( - !(boost::is_same< Constructor , CGAL::Null_functor >::value)); + !(std::is_same< Constructor , CGAL::Null_functor >::value)); typedef typename Constructor::result_type result_type; CGAL_static_assertion( - (boost::is_same< result_type , Polynomial_d >::value)); + (std::is_same< result_type , Polynomial_d >::value)); CGAL_USE_TYPE(result_type); typedef typename PT::Shift Shift; typedef typename PT::Evaluate Evaluate; @@ -1802,21 +1802,21 @@ void test_rebind(const PT& /*traits*/){ { typedef typename PT:: template Rebind::Other PT_IC_1; CGAL_USE_TYPE(PT_IC_1); - CGAL_static_assertion((boost::is_same< typename PT_IC_1::Innermost_coefficient_type, + CGAL_static_assertion((std::is_same< typename PT_IC_1::Innermost_coefficient_type, IC>::value)); CGAL_static_assertion((PT_IC_1::d==1)); } { typedef typename PT:: template Rebind::Other PT_IC_2; CGAL_USE_TYPE(PT_IC_2); - CGAL_static_assertion((boost::is_same< typename PT_IC_2::Innermost_coefficient_type, + CGAL_static_assertion((std::is_same< typename PT_IC_2::Innermost_coefficient_type, IC>::value)); CGAL_static_assertion((PT_IC_2::d==2)); } { typedef typename PT:: template Rebind::Other PT_IC_3; CGAL_USE_TYPE(PT_IC_3); - CGAL_static_assertion((boost::is_same< typename PT_IC_3::Innermost_coefficient_type, + CGAL_static_assertion((std::is_same< typename PT_IC_3::Innermost_coefficient_type, IC>::value)); CGAL_static_assertion((PT_IC_3::d==3)); } @@ -1831,11 +1831,11 @@ void test_rebind(const PT& /*traits*/){ typedef typename PT_IC_1::Polynomial_d Poly1; typedef typename PT_IC_2::Polynomial_d Poly2; - CGAL_static_assertion((boost::is_same< typename PT_IC_1::Coefficient_type, + CGAL_static_assertion((std::is_same< typename PT_IC_1::Coefficient_type, IC>::value)); - CGAL_static_assertion((boost::is_same< typename PT_IC_2::Coefficient_type, + CGAL_static_assertion((std::is_same< typename PT_IC_2::Coefficient_type, Poly1>::value)); - CGAL_static_assertion((boost::is_same< typename PT_IC_3::Coefficient_type, + CGAL_static_assertion((std::is_same< typename PT_IC_3::Coefficient_type, Poly2>::value)); } @@ -1850,9 +1850,9 @@ void test_rebind(const PT& /*traits*/){ CGAL_USE_TYPE(PT_Integer_4); typedef typename PT:: template Rebind::Other PT_Rational_4; CGAL_USE_TYPE(PT_Rational_4); - CGAL_static_assertion((boost::is_same< typename PT_Integer_4::Innermost_coefficient_type, + CGAL_static_assertion((std::is_same< typename PT_Integer_4::Innermost_coefficient_type, Integer>::value)); - CGAL_static_assertion((boost::is_same< typename PT_Rational_4::Innermost_coefficient_type, + CGAL_static_assertion((std::is_same< typename PT_Rational_4::Innermost_coefficient_type, Rational>::value)); CGAL_static_assertion((PT_Integer_4::d==dimension)); CGAL_static_assertion((PT_Rational_4::d==dimension)); @@ -1867,9 +1867,9 @@ void test_rebind(const PT& /*traits*/){ typedef typename PT:: template Rebind::Other PT_Rational_4; CGAL_USE_TYPE(PT_Integer_4); CGAL_USE_TYPE(PT_Rational_4); - CGAL_static_assertion((boost::is_same< typename PT_Integer_4::Innermost_coefficient_type, + CGAL_static_assertion((std::is_same< typename PT_Integer_4::Innermost_coefficient_type, Integer>::value)); - CGAL_static_assertion((boost::is_same< typename PT_Rational_4::Innermost_coefficient_type, + CGAL_static_assertion((std::is_same< typename PT_Rational_4::Innermost_coefficient_type, Rational>::value)); CGAL_static_assertion((PT_Integer_4::d==4)); CGAL_static_assertion((PT_Rational_4::d==4)); @@ -1880,9 +1880,9 @@ void test_rebind(const PT& /*traits*/){ typedef typename PT:: template Rebind::Other PT_Rational_4; CGAL_USE_TYPE(PT_Integer_4); CGAL_USE_TYPE(PT_Rational_4); - CGAL_static_assertion((boost::is_same< typename PT_Integer_4::Innermost_coefficient_type, + CGAL_static_assertion((std::is_same< typename PT_Integer_4::Innermost_coefficient_type, int>::value)); - CGAL_static_assertion((boost::is_same< typename PT_Rational_4::Innermost_coefficient_type, + CGAL_static_assertion((std::is_same< typename PT_Rational_4::Innermost_coefficient_type, double>::value)); CGAL_static_assertion((PT_Integer_4::d==4)); CGAL_static_assertion((PT_Rational_4::d==4)); diff --git a/Polynomial/test/Polynomial/Polynomial_type_generator.cpp b/Polynomial/test/Polynomial/Polynomial_type_generator.cpp index 41997959c8a..d2b0c931512 100644 --- a/Polynomial/test/Polynomial/Polynomial_type_generator.cpp +++ b/Polynomial/test/Polynomial/Polynomial_type_generator.cpp @@ -12,14 +12,14 @@ int main(){ { typedef CGAL::Polynomial_type_generator::Type Polynomial; - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); } { typedef CGAL::Polynomial_type_generator::Type Polynomial; - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); } { typedef CGAL::Polynomial_type_generator::Type Polynomial; - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); } } diff --git a/Polynomial/test/Polynomial/test_polynomial.h b/Polynomial/test/Polynomial/test_polynomial.h index 8a3bb3bbda9..2753de712d2 100644 --- a/Polynomial/test/Polynomial/test_polynomial.h +++ b/Polynomial/test/Polynomial/test_polynomial.h @@ -34,7 +34,7 @@ inline void convert_to(const NT& x, RT& r){ typedef CGAL::Coercion_traits CT; typedef typename CT::Coercion_type RET; - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); r = typename CT::Cast()(x); } } //namespace CGAL @@ -887,7 +887,7 @@ void test_scalar_factor_traits(){ typedef CGAL::Scalar_factor_traits SFT; typedef typename AT::Integer Scalar; typedef typename SFT::Scalar Scalar_; - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); typename SFT::Scalar_factor sfac; @@ -913,7 +913,7 @@ void test_scalar_factor_traits(){ typedef CGAL::Scalar_factor_traits SFT; typedef typename AT::Integer Scalar; typedef typename SFT::Scalar Scalar_; - CGAL_static_assertion((::boost::is_same::value)); + CGAL_static_assertion((::std::is_same::value)); typename SFT::Scalar_factor sfac; diff --git a/Polynomial/test/Polynomial/test_polynomial_Coercion_traits.cpp b/Polynomial/test/Polynomial/test_polynomial_Coercion_traits.cpp index 8ba6939b0d0..5760a12eda0 100644 --- a/Polynomial/test/Polynomial/test_polynomial_Coercion_traits.cpp +++ b/Polynomial/test/Polynomial/test_polynomial_Coercion_traits.cpp @@ -148,7 +148,7 @@ void test_coercion_traits(){ { typedef CGAL::Coercion_traits CT; CGAL_static_assertion(( - ::boost::is_same< typename CT::Are_implicit_interoperable, + ::std::is_same< typename CT::Are_implicit_interoperable, CGAL::Tag_false>::value)); } */ diff --git a/Polynomial/test/Polynomial/test_polynomial_Get_arithmetic_kernel.cpp b/Polynomial/test/Polynomial/test_polynomial_Get_arithmetic_kernel.cpp index dc47580cc91..7107ed8f04e 100644 --- a/Polynomial/test/Polynomial/test_polynomial_Get_arithmetic_kernel.cpp +++ b/Polynomial/test/Polynomial/test_polynomial_Get_arithmetic_kernel.cpp @@ -7,11 +7,11 @@ void test_get_arithmetic_kernel(){ { typedef CGAL::Polynomial POLY; typedef typename CGAL::Get_arithmetic_kernel::Arithmetic_kernel AK_; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); }{ typedef CGAL::Polynomial > POLY; typedef typename CGAL::Get_arithmetic_kernel::Arithmetic_kernel AK_; - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); } } diff --git a/Principal_component_analysis_LGPL/include/CGAL/centroid.h b/Principal_component_analysis_LGPL/include/CGAL/centroid.h index 5d6bee250d2..aa8fad6136a 100644 --- a/Principal_component_analysis_LGPL/include/CGAL/centroid.h +++ b/Principal_component_analysis_LGPL/include/CGAL/centroid.h @@ -20,11 +20,12 @@ #include #include -#include +#include #include #include #include +#include // Functions to compute the centroid of N points. // Works in 2D and 3D. @@ -822,7 +823,7 @@ struct Dispatch_centroid_3 template < typename InputIterator, typename K> typename internal::Dispatch_centroid_3< - typename boost::enable_if,InputIterator>::type, + std::enable_if_t::value,InputIterator>, K,Dynamic_dimension_tag>::result_type centroid(InputIterator begin, InputIterator end, const K& k, Dynamic_dimension_tag tag) { @@ -831,7 +832,7 @@ centroid(InputIterator begin, InputIterator end, const K& k, Dynamic_dimension_t template < typename InputIterator, typename K, int d > typename internal::Dispatch_centroid_3< - typename boost::enable_if,InputIterator>::type, + std::enable_if_t::value,InputIterator>, K,Dimension_tag >::result_type centroid(InputIterator begin, InputIterator end, const K& k, Dimension_tag tag) { @@ -896,7 +897,7 @@ struct Dispatch_centroid template < typename InputIterator, typename Kernel_or_dim > inline typename internal::Dispatch_centroid< - typename boost::enable_if,InputIterator>::type, + std::enable_if_t::value,InputIterator>, Kernel_or_dim>::result_type centroid(InputIterator begin, InputIterator end, const Kernel_or_dim& k_or_d) { @@ -905,7 +906,7 @@ centroid(InputIterator begin, InputIterator end, const Kernel_or_dim& k_or_d) } namespace internal { -template::value> + template::value> class Centroid_2args_return_type_helper{}; template diff --git a/Property_map/include/CGAL/Dynamic_property_map.h b/Property_map/include/CGAL/Dynamic_property_map.h index de27dd668bc..a7dc48b5354 100644 --- a/Property_map/include/CGAL/Dynamic_property_map.h +++ b/Property_map/include/CGAL/Dynamic_property_map.h @@ -19,7 +19,6 @@ #include #include -#include #include #include @@ -128,7 +127,7 @@ struct Dynamic_with_index { typedef Key key_type; typedef Value value_type; - typedef typename boost::mpl::if_< boost::is_same, + typedef typename boost::mpl::if_< std::is_same, value_type, value_type&>::type reference; typedef boost::read_write_property_map_tag category; diff --git a/Property_map/include/CGAL/property_map.h b/Property_map/include/CGAL/property_map.h index 240b0db1f2e..a917d413e85 100644 --- a/Property_map/include/CGAL/property_map.h +++ b/Property_map/include/CGAL/property_map.h @@ -120,7 +120,7 @@ struct Property_map_binder template Property_map_binder(const VM& value_map, - typename std::enable_if::value>::type* = nullptr) + std::enable_if_t::value>* = nullptr) : value_map(value_map) { } @@ -666,13 +666,13 @@ struct Random_index_access_property_map : m_begin(begin), m_map(map) {} friend reference get (const Random_index_access_property_map& map, const key_type& index, - typename std::enable_if::value>::type* = 0) + std::enable_if_t::value>* = 0) { return get(map.m_map, *std::next(map.m_begin, index)); } friend void put (Random_index_access_property_map& map, const key_type& index, const value_type& value, - typename std::enable_if::value>::type* = 0) + std::enable_if_t::value>* = 0) { put (map.m_map, *std::next(map.m_begin, index), value); } diff --git a/Ridges_3/include/CGAL/Ridges.h b/Ridges_3/include/CGAL/Ridges.h index 52a7a27e495..e09c6eaf571 100644 --- a/Ridges_3/include/CGAL/Ridges.h +++ b/Ridges_3/include/CGAL/Ridges.h @@ -22,9 +22,10 @@ #include #include #include -#include #include +#include + namespace CGAL { enum Ridge_interrogation_type {MAX_RIDGE, MIN_RIDGE, CREST_RIDGE}; @@ -189,10 +190,10 @@ class Ridge_approximation //requirements for the templates TriangleMesh and VertexFTMap or VertexVectorMap - CGAL_static_assertion((boost::is_same::value)); - CGAL_static_assertion((boost::is_same::value)); - CGAL_static_assertion((boost::is_same::value)); - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); + CGAL_static_assertion((std::is_same::value)); + CGAL_static_assertion((std::is_same::value)); + CGAL_static_assertion((std::is_same::value)); typedef std::pair< halfedge_descriptor, FT> Ridge_halfedge; typedef Ridge_halfedge Ridge_halfhedge; // kept for backward compatibility diff --git a/Ridges_3/include/CGAL/Umbilics.h b/Ridges_3/include/CGAL/Umbilics.h index 278688706d4..dcf8eecac23 100644 --- a/Ridges_3/include/CGAL/Umbilics.h +++ b/Ridges_3/include/CGAL/Umbilics.h @@ -110,10 +110,10 @@ class Umbilic_approximation typedef typename boost::graph_traits::vertex_iterator Vertex_const_iterator; //requirements for the templates TriangleMesh and VertexFTMap or VertexVectorMap - CGAL_static_assertion((boost::is_same::value)); - CGAL_static_assertion((boost::is_same::value)); - CGAL_static_assertion((boost::is_same::value)); - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); + CGAL_static_assertion((std::is_same::value)); + CGAL_static_assertion((std::is_same::value)); + CGAL_static_assertion((std::is_same::value)); typedef CGAL::Umbilic Umbilic; diff --git a/SMDS_3/include/CGAL/IO/File_medit.h b/SMDS_3/include/CGAL/IO/File_medit.h index 831dca9e121..c569ac58316 100644 --- a/SMDS_3/include/CGAL/IO/File_medit.h +++ b/SMDS_3/include/CGAL/IO/File_medit.h @@ -23,9 +23,7 @@ #include #include -#include #include -#include #include #include @@ -37,6 +35,7 @@ #include #include #include +#include namespace CGAL { diff --git a/SMDS_3/include/CGAL/SMDS_3/internal/indices_management.h b/SMDS_3/include/CGAL/SMDS_3/internal/indices_management.h index b98528cace4..c5e450289a1 100644 --- a/SMDS_3/include/CGAL/SMDS_3/internal/indices_management.h +++ b/SMDS_3/include/CGAL/SMDS_3/internal/indices_management.h @@ -21,8 +21,6 @@ #include -#include -#include #include #include #include @@ -30,6 +28,7 @@ #include #include +#include namespace CGAL { namespace Mesh_3 { @@ -145,7 +144,7 @@ struct Index_generator_with_features template const T& get_index(const Boost_variant& x, - typename boost::disable_if >::type * = 0) + std::enable_if_t::value > * = 0) { return boost::get(x); } template diff --git a/STL_Extension/include/CGAL/Compact_container.h b/STL_Extension/include/CGAL/Compact_container.h index 5d1f91158b0..93a6debd770 100644 --- a/STL_Extension/include/CGAL/Compact_container.h +++ b/STL_Extension/include/CGAL/Compact_container.h @@ -879,7 +879,7 @@ namespace internal { // Converting constructor from mutable to constant iterator template CC_iterator(const CC_iterator< - typename std::enable_if<(!OtherConst && Const), DSC>::type, + std::enable_if_t<(!OtherConst && Const), DSC>, OtherConst> &const_it) #ifdef CGAL_COMPACT_CONTAINER_DEBUG_TIME_STAMP : ts(Time_stamper::time_stamp(const_it.operator->())) @@ -891,7 +891,7 @@ namespace internal { // Assignment operator from mutable to constant iterator template CC_iterator & operator= (const CC_iterator< - typename std::enable_if<(!OtherConst && Const), DSC>::type, + std::enable_if_t<(!OtherConst && Const), DSC>, OtherConst> &const_it) { m_ptr = const_it.operator->(); diff --git a/STL_Extension/include/CGAL/Container_helper.h b/STL_Extension/include/CGAL/Container_helper.h index c4a5bc97965..aeb66ea052b 100644 --- a/STL_Extension/include/CGAL/Container_helper.h +++ b/STL_Extension/include/CGAL/Container_helper.h @@ -17,9 +17,9 @@ #include #include -#include #include +#include namespace CGAL { namespace internal { @@ -30,7 +30,7 @@ CGAL_GENERATE_MEMBER_DETECTOR(resize); // Typical container template void resize(Container& c, std::size_t size, - typename boost::enable_if_c::value>::type* = nullptr) + std::enable_if_t::value>* = nullptr) { c.resize(size); } @@ -38,10 +38,10 @@ void resize(Container& c, std::size_t size, // Container without a resize() function, but with a size() function (e.g. an array) template void resize(Container& CGAL_assertion_code(array), std::size_t CGAL_assertion_code(size), - typename boost::enable_if< + std::enable_if_t< boost::mpl::and_< boost::mpl::not_ >, - has_size > >::type* = nullptr) + has_size >::value >* = nullptr) { CGAL_assertion(array.size() == size); } @@ -49,9 +49,9 @@ void resize(Container& CGAL_assertion_code(array), std::size_t CGAL_assertion_co // A class with neither resize() nor size(), can't enforce size (it better be correct!) template void resize(Container&, std::size_t, - typename boost::disable_if< - boost::mpl::or_, - has_size > >::type* = nullptr) + std::enable_if_t< + !boost::mpl::or_, + has_size >::value >* = nullptr) { } @@ -62,7 +62,7 @@ CGAL_GENERATE_MEMBER_DETECTOR(reserve); // Container with 'reserve' template void reserve(Container& c, std::size_t size, - typename boost::enable_if_c::value>::type* = nullptr) + std::enable_if_t::value>* = nullptr) { c.reserve(size); } @@ -70,7 +70,7 @@ void reserve(Container& c, std::size_t size, // Container with no 'reserve' template void reserve(Container&, std::size_t, - typename boost::disable_if_c::value>::type* = nullptr) + std::enable_if_t::value>* = nullptr) { } diff --git a/STL_Extension/include/CGAL/Named_function_parameters.h b/STL_Extension/include/CGAL/Named_function_parameters.h index 3a55845725c..bf7059b3ca9 100644 --- a/STL_Extension/include/CGAL/Named_function_parameters.h +++ b/STL_Extension/include/CGAL/Named_function_parameters.h @@ -18,7 +18,6 @@ #include -#include #include #include @@ -128,12 +127,12 @@ struct Lookup_named_param_def typedef typename internal_np::Get_param::reference NP_reference; typedef typename boost::mpl::if_< - boost::is_same, + std::is_same, D, NP_type>::type type; typedef typename boost::mpl::if_< - boost::is_same, + std::is_same, D&, NP_reference>::type reference; }; @@ -166,7 +165,7 @@ typename Get_param, Query_tag>::type get_parameter_impl(const Named_params_impl& np, Query_tag tag) { #ifndef CGAL_NO_STATIC_ASSERTION_TEST - CGAL_static_assertion( (!boost::is_same::value) ); + CGAL_static_assertion( (!std::is_same::value) ); #endif return get_parameter_impl(static_cast(np), tag); } @@ -227,7 +226,7 @@ template typename Get_param, Query_tag>::reference get_parameter_reference_impl(const Named_params_impl& np, Query_tag tag) { - CGAL_static_assertion( (!boost::is_same::value) ); + CGAL_static_assertion( (!std::is_same::value) ); return get_parameter_reference_impl(static_cast(np), tag); } @@ -379,7 +378,7 @@ struct is_default_parameter NamedParameters, internal_np::Param_not_found>::type NP_type; - static const bool value = boost::is_same::value; + static const bool value = std::is_same::value; typedef CGAL::Boolean_tag type; }; diff --git a/STL_Extension/include/CGAL/is_streamable.h b/STL_Extension/include/CGAL/is_streamable.h index ec25752e8f9..dabeb375728 100644 --- a/STL_Extension/include/CGAL/is_streamable.h +++ b/STL_Extension/include/CGAL/is_streamable.h @@ -12,7 +12,6 @@ #include #include -#include #include namespace CGAL { diff --git a/STL_Extension/include/CGAL/transforming_iterator.h b/STL_Extension/include/CGAL/transforming_iterator.h index c77e36669fa..7caa2d3b1a2 100644 --- a/STL_Extension/include/CGAL/transforming_iterator.h +++ b/STL_Extension/include/CGAL/transforming_iterator.h @@ -93,8 +93,8 @@ private internal::Functor_as_base template transforming_iterator( transforming_iterator const&i, - typename boost::enable_if_convertible::type* = 0, - typename boost::enable_if_convertible::type* = 0) + std::enable_if_t::value>* = 0, + std::enable_if_t::value>* = 0) : Base(i.base()),Functor_base(i.functor()) {} }; diff --git a/STL_Extension/include/CGAL/transforming_pair_iterator.h b/STL_Extension/include/CGAL/transforming_pair_iterator.h index a09881504f9..4e59bb9282a 100644 --- a/STL_Extension/include/CGAL/transforming_pair_iterator.h +++ b/STL_Extension/include/CGAL/transforming_pair_iterator.h @@ -97,9 +97,9 @@ private internal::Functor_as_base template transforming_pair_iterator( transforming_pair_iterator const&i, - typename boost::enable_if_convertible::type* = 0, - typename boost::enable_if_convertible::type* = 0, - typename boost::enable_if_convertible::type* = 0) + std::enable_if_t::value>* = 0, + std::enable_if_t::value>* = 0, + std::enable_if_t::value>* = 0) : Functor_base(i.functor()),iter1(i.iter1),iter2(i.iter2) {} }; diff --git a/STL_Extension/include/CGAL/type_traits.h b/STL_Extension/include/CGAL/type_traits.h index 5a06c8f6683..f62325ebc8b 100644 --- a/STL_Extension/include/CGAL/type_traits.h +++ b/STL_Extension/include/CGAL/type_traits.h @@ -12,16 +12,17 @@ #ifndef CGAL_TYPE_TRAITS_H #define CGAL_TYPE_TRAITS_H -#include #include #include +#include + namespace CGAL { template< class Base, class Derived > struct is_same_or_derived : public ::boost::mpl::or_< - ::boost::is_same< Base, Derived >, + ::std::is_same< Base, Derived >, ::boost::is_base_and_derived< Base, Derived > >::type {}; diff --git a/STL_Extension/include/CGAL/is_iterator.h b/STL_Extension/include/CGAL/type_traits/is_iterator.h similarity index 86% rename from STL_Extension/include/CGAL/is_iterator.h rename to STL_Extension/include/CGAL/type_traits/is_iterator.h index c6d25858a01..f8010ab35b3 100644 --- a/STL_Extension/include/CGAL/is_iterator.h +++ b/STL_Extension/include/CGAL/type_traits/is_iterator.h @@ -14,8 +14,8 @@ // Author(s) : Marc Glisse -#ifndef CGAL_IS_ITERATOR_H -#define CGAL_IS_ITERATOR_H +#ifndef CGAL_TYPE_TRAITS_IS_ITERATOR_H +#define CGAL_TYPE_TRAITS_IS_ITERATOR_H #include #include @@ -68,11 +68,18 @@ struct is_iterator : public internal::is_iterator_::type>::type> { }; +template +CGAL_CPP17_INLINE constexpr bool is_iterator_v = is_iterator::value; + template struct is_iterator_type : public internal::is_iterator_type_::type>::type, Tag> { }; +template +CGAL_CPP17_INLINE constexpr bool is_iterator_type_v = is_iterator_type::value; + + template ::value> struct is_iterator_to : public boost::mpl::false_ @@ -83,6 +90,10 @@ struct is_iterator_to : public boost::is_convertible::value_type, U> { }; +template +CGAL_CPP17_INLINE constexpr bool is_iterator_to_v = is_iterator_to::value; + + } // namespace CGAL #endif // CGAL_IS_ITERATOR_H diff --git a/STL_Extension/test/STL_Extension/test_Boolean_tag.cpp b/STL_Extension/test/STL_Extension/test_Boolean_tag.cpp index 54b93333514..90ee2479438 100644 --- a/STL_Extension/test/STL_Extension/test_Boolean_tag.cpp +++ b/STL_Extension/test/STL_Extension/test_Boolean_tag.cpp @@ -2,23 +2,22 @@ # undef NDEBUG #endif #include -#include -#include #include +#include -using boost::is_same; +using std::is_same; using CGAL::Tag_true; using CGAL::Tag_false; int main() { - BOOST_MPL_ASSERT(( is_same< Tag_true::value_type, bool > )); - BOOST_MPL_ASSERT(( is_same< Tag_true::type, Tag_true > )); - BOOST_MPL_ASSERT_RELATION( (Tag_true::value), ==, true ); + static_assert(is_same< Tag_true::value_type, bool >::value,""); + static_assert(is_same< Tag_true::type, Tag_true >::value,""); + static_assert(Tag_true::value== true,""); assert( Tag_true() == true ); - BOOST_MPL_ASSERT(( is_same< Tag_false::value_type, bool > )); - BOOST_MPL_ASSERT(( is_same< Tag_false::type, Tag_false > )); - BOOST_MPL_ASSERT_RELATION( (Tag_false::value), ==, false ); + static_assert(is_same< Tag_false::value_type, bool >::value,""); + static_assert(is_same< Tag_false::type, Tag_false >::value,""); + static_assert(Tag_false::value == false,""); assert( Tag_false() == false ); return 0; diff --git a/STL_Extension/test/STL_Extension/test_Cache.cpp b/STL_Extension/test/STL_Extension/test_Cache.cpp index 94b9af54d0b..a5c9de6e5a3 100644 --- a/STL_Extension/test/STL_Extension/test_Cache.cpp +++ b/STL_Extension/test/STL_Extension/test_Cache.cpp @@ -13,12 +13,12 @@ #include +#include #include #include #include #include #include -#include struct Int_rep { int val; @@ -57,16 +57,16 @@ struct Int_t : public CGAL::Handle_with_policy< Int_rep, Unify > { void test_typedefs(){ typedef CGAL::Cache Cache; CGAL_USE_TYPE(Cache); - CGAL_static_assertion(( ::boost::is_same< Cache::Input, int >::value )); - CGAL_static_assertion(( ::boost::is_same< Cache::Output,double>::value )); + CGAL_static_assertion(( ::std::is_same< Cache::Input, int >::value )); + CGAL_static_assertion(( ::std::is_same< Cache::Output,double>::value )); typedef CGAL::Creator_1 Creator_double; CGAL_USE_TYPE(Creator_double); - CGAL_static_assertion(( ::boost::is_same::value )); + CGAL_static_assertion(( ::std::is_same::value )); typedef CGAL::Creator_1 Creator_int; CGAL_USE_TYPE(Creator_int); - CGAL_static_assertion(( ::boost::is_same::value )); - CGAL_static_assertion(( ::boost::is_same >::value )); - CGAL_static_assertion(( ::boost::is_same >::value )); + CGAL_static_assertion(( ::std::is_same::value )); + CGAL_static_assertion(( ::std::is_same >::value )); + CGAL_static_assertion(( ::std::is_same >::value )); } int main(){ { diff --git a/STL_Extension/test/STL_Extension/test_is_iterator.cpp b/STL_Extension/test/STL_Extension/test_is_iterator.cpp index c6412282935..7305fe62da0 100644 --- a/STL_Extension/test/STL_Extension/test_is_iterator.cpp +++ b/STL_Extension/test/STL_Extension/test_is_iterator.cpp @@ -1,5 +1,5 @@ #include -#include +#include #include #include #include diff --git a/STL_Extension/test/STL_Extension/test_stl_extension.cpp b/STL_Extension/test/STL_Extension/test_stl_extension.cpp index a5fbc7f0392..d361ed8b610 100644 --- a/STL_Extension/test/STL_Extension/test_stl_extension.cpp +++ b/STL_Extension/test/STL_Extension/test_stl_extension.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -47,7 +48,6 @@ #include #include #include -#include #include #include @@ -8120,7 +8120,7 @@ void test_tuple(){ CGAL_static_assertion( std::tuple_size::value == 0 ); CGAL_static_assertion( std::tuple_size::value == 2 ); CGAL_static_assertion( std::tuple_size::value == 4 ); - CGAL_static_assertion( (boost::is_same::type,My_to_int>::value) ); + CGAL_static_assertion( (std::is_same::type,My_to_int>::value) ); T1 t1=std::make_tuple(1,2); T1 t1_2=std::make_tuple(1,2); @@ -8206,15 +8206,15 @@ void test_make_sorted_pair() { assert(p3==p4); int i=2; assert( CGAL::make_sorted_pair(1,i) == std::make_pair(1,i) ); - CGAL_static_assertion( (boost::is_same< + CGAL_static_assertion( (std::is_same< BOOST_TYPEOF(CGAL::make_sorted_pair(1L,i)), std::pair >::value) ); assert( (CGAL::make_sorted_pair(i,1L) == std::pair(1L,2L)) ); - CGAL_static_assertion( (boost::is_same< + CGAL_static_assertion( (std::is_same< BOOST_TYPEOF(CGAL::make_sorted_pair(1,2L)), std::pair >::value) ); - CGAL_static_assertion( (boost::is_same< + CGAL_static_assertion( (std::is_same< BOOST_TYPEOF(CGAL::make_sorted_pair(1,2L)), std::pair >::value) ); } @@ -8237,8 +8237,8 @@ void test_result_of() { typedef CGAL::cpp11::result_of::type result_type_float; CGAL_USE_TYPE(result_type); CGAL_USE_TYPE(result_type_float); - CGAL_static_assertion((boost::is_same::value)); - CGAL_static_assertion((boost::is_same::value)); + CGAL_static_assertion((std::is_same::value)); + CGAL_static_assertion((std::is_same::value)); } diff --git a/Spatial_searching/include/CGAL/Fuzzy_iso_box.h b/Spatial_searching/include/CGAL/Fuzzy_iso_box.h index ed127946993..3aeaeb550e8 100644 --- a/Spatial_searching/include/CGAL/Fuzzy_iso_box.h +++ b/Spatial_searching/include/CGAL/Fuzzy_iso_box.h @@ -23,10 +23,10 @@ #include #include -#include #include #include -#include + +#include namespace CGAL { @@ -34,13 +34,15 @@ namespace CGAL { namespace internal{ template struct Is_from_point_from_adapter_traits{ - typedef boost::false_type type; + typedef std::false_type type; + static const bool value = false; }; template struct Is_from_point_from_adapter_traits,Point>{ - typedef typename boost::is_same type; + typedef typename std::is_same type; + static const bool value = type::value; }; } //namespace internal @@ -102,7 +104,7 @@ namespace CGAL { //additional constructor if SearchTraits = Search_traits_adapter template Fuzzy_iso_box(const Point& p,const Point&q,FT epsilon=FT(0),const SearchTraits& traits_=SearchTraits(), - typename boost::enable_if::type>::type* = 0) + std::enable_if_t::value>* = 0) : traits(traits_), eps(epsilon) { CGAL_precondition(epsilon >= 0); diff --git a/Spatial_searching/include/CGAL/Fuzzy_sphere.h b/Spatial_searching/include/CGAL/Fuzzy_sphere.h index fd8bbb01bd1..bdb82cb7a26 100644 --- a/Spatial_searching/include/CGAL/Fuzzy_sphere.h +++ b/Spatial_searching/include/CGAL/Fuzzy_sphere.h @@ -21,7 +21,6 @@ #include #include -#include namespace CGAL { @@ -154,11 +153,10 @@ public: Fuzzy_sphere(const SearchTraits& traits_=SearchTraits()):Base(traits_){} // Constructor for any point type that is not `SearchTraits::Point_d` - template // boost::disable_if requires a template argument to work + template // std::enable_if_t requires a template argument to work Fuzzy_sphere(const Point& center, FT radius, FT epsilon=FT(0),const SearchTraits& traits_=SearchTraits(), - typename boost::disable_if< - boost::is_same >::type* = 0) + std::enable_if_t< + !std::is_same::value >* = 0) : Base(center,radius,epsilon,traits_) {} Fuzzy_sphere(const typename SearchTraits::Point_d& center, FT radius, FT epsilon=FT(0), diff --git a/Spatial_searching/include/CGAL/Search_traits_adapter.h b/Spatial_searching/include/CGAL/Search_traits_adapter.h index c2ff9a227d6..aee69ca254c 100644 --- a/Spatial_searching/include/CGAL/Search_traits_adapter.h +++ b/Spatial_searching/include/CGAL/Search_traits_adapter.h @@ -23,8 +23,6 @@ #include #include -#include -#include #include namespace CGAL{ @@ -106,19 +104,17 @@ public: // on the query point type. If the query point type is the same as // Point_with_info, we disable it. - template // boost::disable_if requires a template argument to work + template // enable_if_t requires a template argument to work typename Base_traits::Cartesian_const_iterator_d operator()(const Point& p, - typename boost::disable_if< - boost::is_same >::type* = 0 + std::enable_if_t< + !std::is_same::value >* = 0 ) const { return Base::operator() (p); } - template // boost::disable_if requires a template argument to work + template // std::enable_if_t requires a template argument to work typename Base_traits::Cartesian_const_iterator_d operator()(const Point& p, int, - typename boost::disable_if< - boost::is_same >::type* = 0 + std::enable_if_t< + !std::is_same::value >* = 0 ) const { return Base::operator() (p,0); } }; @@ -213,19 +209,18 @@ public: // on the query point type. If the query point type is the same as // Point_with_info, we disable it. - template // boost::disable_if requires a template argument to work + template // std::enable_if_t requires a template argument to work No_lvalue_iterator operator()(const Point& p, - typename boost::disable_if< - boost::is_same >::type* = 0 + std::enable_if_t::value >* = 0 ) const { return No_lvalue_iterator(p); } - template // boost::disable_if requires a template argument to work + template // std::enable_if requires a template argument to work No_lvalue_iterator operator()(const Point& p, int, - typename boost::disable_if< - boost::is_same >::type* = 0 + std::enable_if_t< + !std::is_same::value >* = 0 ) const { return No_lvalue_iterator(p,0); } }; diff --git a/Straight_skeleton_2/include/CGAL/Straight_skeleton_2/Straight_skeleton_aux.h b/Straight_skeleton_2/include/CGAL/Straight_skeleton_2/Straight_skeleton_aux.h index e22b0bbe422..4aa5c65eaf4 100644 --- a/Straight_skeleton_2/include/CGAL/Straight_skeleton_2/Straight_skeleton_aux.h +++ b/Straight_skeleton_2/include/CGAL/Straight_skeleton_2/Straight_skeleton_aux.h @@ -21,9 +21,9 @@ #include #include #include -#include #include +#include // The heap objects used in this implementation are intrusively reference counted. Thus, they inherit from Ref_counted_base. namespace CGAL { @@ -34,8 +34,8 @@ template struct Has_inexact_constructions { typedef typename K::FT FT ; - typedef typename boost::mpl::if_< boost::mpl::or_< boost::is_same - , boost::is_same + typedef typename boost::mpl::if_< boost::mpl::or_< std::is_same + , std::is_same > , Tag_true , Tag_false diff --git a/Straight_skeleton_2/include/CGAL/Straight_skeleton_builder_2.h b/Straight_skeleton_2/include/CGAL/Straight_skeleton_builder_2.h index c38e416ab4b..517b93ed603 100644 --- a/Straight_skeleton_2/include/CGAL/Straight_skeleton_builder_2.h +++ b/Straight_skeleton_2/include/CGAL/Straight_skeleton_builder_2.h @@ -665,16 +665,16 @@ private : template // actually just equal to 'Traits', but gotta template for SFINAE to work Segment_2 CreateSegment ( Halfedge_const_handle aH, - typename std::enable_if< - ! CGAL_SS_i::has_Segment_2_with_ID::value>::type* = nullptr ) const + std::enable_if_t< + ! CGAL_SS_i::has_Segment_2_with_ID::value>* = nullptr ) const { return Segment_2(CreateRawSegment(aH)) ; } template // actually just equal to 'Traits', but gotta template for SFINAE to work Segment_2 CreateSegment ( Halfedge_const_handle aH, - typename std::enable_if< - CGAL_SS_i::has_Segment_2_with_ID::value>::type* = nullptr ) const + std::enable_if_t< + CGAL_SS_i::has_Segment_2_with_ID::value>* = nullptr ) const { return Segment_2(CreateRawSegment(aH), aH->id()); } diff --git a/Straight_skeleton_2/include/CGAL/create_offset_polygons_2.h b/Straight_skeleton_2/include/CGAL/create_offset_polygons_2.h index 88ef7c68046..dbaa31bbcb8 100644 --- a/Straight_skeleton_2/include/CGAL/create_offset_polygons_2.h +++ b/Straight_skeleton_2/include/CGAL/create_offset_polygons_2.h @@ -325,8 +325,8 @@ create_interior_skeleton_and_offset_polygons_2(const FT& aOffset, const APolygon& aPoly, const OfK& ofk, const SsK& ssk, - typename std::enable_if< - ! CGAL_SS_i::has_Hole_const_iterator::value>::type* = nullptr) + std::enable_if_t< + ! CGAL_SS_i::has_Hole_const_iterator::value>* = nullptr) { std::vector no_holes; return create_interior_skeleton_and_offset_polygons_2(aOffset, aPoly, @@ -375,8 +375,8 @@ create_exterior_skeleton_and_offset_polygons_2(const FT& aOffset, const APolygon& aPoly, const OfK& ofk, const SsK& ssk, - typename std::enable_if< - ! CGAL_SS_i::has_Hole_const_iterator::value>::type* = nullptr) + std::enable_if_t< + ! CGAL_SS_i::has_Hole_const_iterator::value>* = nullptr) { return create_offset_polygons_2( aOffset, diff --git a/Straight_skeleton_2/include/CGAL/create_offset_polygons_from_polygon_with_holes_2.h b/Straight_skeleton_2/include/CGAL/create_offset_polygons_from_polygon_with_holes_2.h index 1e4cb324fff..745ce692b68 100644 --- a/Straight_skeleton_2/include/CGAL/create_offset_polygons_from_polygon_with_holes_2.h +++ b/Straight_skeleton_2/include/CGAL/create_offset_polygons_from_polygon_with_holes_2.h @@ -44,8 +44,8 @@ create_interior_skeleton_and_offset_polygons_2(const FT& aOffset, const PolygonWithHoles& aPoly, const OfK& ofk, const SsK& ssk, - typename std::enable_if< - CGAL_SS_i::has_Hole_const_iterator::value>::type* = nullptr) + std::enable_if_t< + CGAL_SS_i::has_Hole_const_iterator::value>* = nullptr) { return create_interior_skeleton_and_offset_polygons_2(aOffset, aPoly.outer_boundary(), aPoly.holes_begin(), aPoly.holes_end(), @@ -146,8 +146,8 @@ create_exterior_skeleton_and_offset_polygons_2(const FT& aOffset, const PolygonWithHoles& aPoly, const OfK& ofk, const SsK& ssk, - typename std::enable_if< - CGAL_SS_i::has_Hole_const_iterator::value>::type* = nullptr) + std::enable_if_t< + CGAL_SS_i::has_Hole_const_iterator::value>* = nullptr) { std::vector > polygons = create_exterior_skeleton_and_offset_polygons_2(aOffset, aPoly.outer_boundary(), ofk, ssk); diff --git a/Straight_skeleton_2/include/CGAL/create_straight_skeleton_2.h b/Straight_skeleton_2/include/CGAL/create_straight_skeleton_2.h index b7dff14ca2c..aa73ed322c6 100644 --- a/Straight_skeleton_2/include/CGAL/create_straight_skeleton_2.h +++ b/Straight_skeleton_2/include/CGAL/create_straight_skeleton_2.h @@ -115,8 +115,8 @@ boost::shared_ptr< Straight_skeleton_2 > inline create_interior_straight_skeleton_2 ( Polygon const& aOutContour, K const& k, - typename std::enable_if< - ! CGAL_SS_i::has_Hole_const_iterator::value>::type* = nullptr) + std::enable_if_t< + ! CGAL_SS_i::has_Hole_const_iterator::value>* = nullptr) { return create_interior_straight_skeleton_2(CGAL_SS_i::vertices_begin(aOutContour) ,CGAL_SS_i::vertices_end(aOutContour) diff --git a/Straight_skeleton_2/include/CGAL/create_straight_skeleton_from_polygon_with_holes_2.h b/Straight_skeleton_2/include/CGAL/create_straight_skeleton_from_polygon_with_holes_2.h index 2ec7d4a3bff..34ededf3da7 100644 --- a/Straight_skeleton_2/include/CGAL/create_straight_skeleton_from_polygon_with_holes_2.h +++ b/Straight_skeleton_2/include/CGAL/create_straight_skeleton_from_polygon_with_holes_2.h @@ -31,8 +31,8 @@ boost::shared_ptr< Straight_skeleton_2 > inline create_interior_straight_skeleton_2 ( Polygon const& aPolyWithHoles, K const& k, - typename std::enable_if< - CGAL_SS_i::has_Hole_const_iterator::value>::type* = nullptr) + std::enable_if_t< + CGAL_SS_i::has_Hole_const_iterator::value>* = nullptr) { return create_interior_straight_skeleton_2(aPolyWithHoles.outer_boundary().vertices_begin() ,aPolyWithHoles.outer_boundary().vertices_end () diff --git a/Stream_support/include/CGAL/IO/3MF.h b/Stream_support/include/CGAL/IO/3MF.h index b2f7a84cc39..728db311e02 100644 --- a/Stream_support/include/CGAL/IO/3MF.h +++ b/Stream_support/include/CGAL/IO/3MF.h @@ -23,12 +23,12 @@ #endif #include -#include #include #include #include #include +#include #if defined(CGAL_LINKED_WITH_3MF) || defined(DOXYGEN_RUNNING) @@ -504,7 +504,7 @@ bool write_3MF(const std::string& fname, template bool write_3MF(const std::string& fname, const PointRange& points, const TriangleRange& triangles, - typename boost::enable_if >::type* = nullptr) + std::enable_if_t::value>* = nullptr) { return write_triangle_soup_to_3mf(fname, points, triangles, "anonymous"); } diff --git a/Stream_support/include/CGAL/IO/GOCAD.h b/Stream_support/include/CGAL/IO/GOCAD.h index d0701c952e0..07b4b6dec07 100644 --- a/Stream_support/include/CGAL/IO/GOCAD.h +++ b/Stream_support/include/CGAL/IO/GOCAD.h @@ -24,11 +24,11 @@ #include #include -#include #include #include #include +#include namespace CGAL { @@ -195,7 +195,7 @@ bool read_GOCAD(std::istream& is, PolygonRange& polygons, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -240,7 +240,7 @@ bool read_GOCAD(const std::string& fname, PolygonRange& polygons, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -348,7 +348,7 @@ bool write_GOCAD(std::ostream& os, const PolygonRange& polygons, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -390,7 +390,7 @@ bool write_GOCAD(const std::string& fname, const PolygonRange& polygons, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { diff --git a/Stream_support/include/CGAL/IO/OBJ.h b/Stream_support/include/CGAL/IO/OBJ.h index 1bbe0e264eb..4e1a5c95a00 100644 --- a/Stream_support/include/CGAL/IO/OBJ.h +++ b/Stream_support/include/CGAL/IO/OBJ.h @@ -22,7 +22,6 @@ #include #include -#include #include #include @@ -30,6 +29,7 @@ #include #include #include +#include namespace CGAL { @@ -212,7 +212,7 @@ bool read_OBJ(std::istream& is, PolygonRange& polygons, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -257,7 +257,7 @@ bool read_OBJ(const std::string& fname, PolygonRange& polygons, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -305,7 +305,7 @@ bool write_OBJ(std::ostream& os, const PolygonRange& polygons, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -349,7 +349,7 @@ bool write_OBJ(const std::string& fname, const PolygonRange& polygons, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { diff --git a/Stream_support/include/CGAL/IO/OFF.h b/Stream_support/include/CGAL/IO/OFF.h index 4dc678064d1..ff17f202bba 100644 --- a/Stream_support/include/CGAL/IO/OFF.h +++ b/Stream_support/include/CGAL/IO/OFF.h @@ -26,11 +26,11 @@ #include #include -#include #include #include #include +#include namespace CGAL { @@ -184,7 +184,7 @@ bool read_OFF(std::istream& is, PolygonRange& polygons, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -237,7 +237,7 @@ bool read_OFF(const std::string& fname, PolygonRange& polygons, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -282,7 +282,7 @@ bool write_OFF(std::ostream& os, const PolygonRange& polygons, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -323,7 +323,7 @@ bool write_OFF(const std::string& fname, const PolygonRange& polygons, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { diff --git a/Stream_support/include/CGAL/IO/PLY.h b/Stream_support/include/CGAL/IO/PLY.h index 672cefeaead..f2845004424 100644 --- a/Stream_support/include/CGAL/IO/PLY.h +++ b/Stream_support/include/CGAL/IO/PLY.h @@ -22,7 +22,6 @@ #include #include -#include #include #include @@ -31,6 +30,7 @@ #include #include #include +#include namespace CGAL { @@ -52,7 +52,7 @@ bool read_PLY(std::istream& is, ColorOutputIterator vc_out, HUVOutputIterator huvs_out, const bool verbose = false, - typename std::enable_if::value>::type* = nullptr) + std::enable_if_t::value>* = nullptr) { typedef typename boost::range_value::type Point_3; typedef CGAL::IO::Color Color_rgb; @@ -233,7 +233,7 @@ bool read_PLY(std::istream& is, ColorRange& vcolors, HUVRange& huvs, const bool verbose = false, - typename boost::enable_if >::type* = nullptr) + std::enable_if_t::value>* = nullptr) { return internal::read_PLY(is, points, polygons, std::back_inserter(hedges), @@ -309,7 +309,7 @@ bool read_PLY(std::istream& is, PolygonRange& polygons, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -369,7 +369,7 @@ bool read_PLY(const std::string& fname, PolygonRange& polygons, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -432,7 +432,7 @@ bool write_PLY(std::ostream& out, const PolygonRange& polygons, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -511,7 +511,7 @@ bool write_PLY(const std::string& fname, const PolygonRange& polygons, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { diff --git a/Stream_support/include/CGAL/IO/PLY/PLY_reader.h b/Stream_support/include/CGAL/IO/PLY/PLY_reader.h index 98c2fc0268d..17251cc43a1 100644 --- a/Stream_support/include/CGAL/IO/PLY/PLY_reader.h +++ b/Stream_support/include/CGAL/IO/PLY/PLY_reader.h @@ -13,7 +13,7 @@ #include #include -#include +#include #include #include @@ -704,9 +704,7 @@ bool read_PLY_faces(std::istream& in, PolygonRange& polygons, ColorOutputIterator fc_out, const char* vertex_indices_tag, - typename std::enable_if< - CGAL::is_iterator::value - >::type* = nullptr) + std::enable_if_t::value>* = nullptr) { typedef CGAL::IO::Color Color_rgb; @@ -775,9 +773,9 @@ bool read_PLY_faces(std::istream& in, PolygonRange& polygons, ColorRange& fcolors, const char* vertex_indices_tag, - typename boost::enable_if< - typename boost::has_range_const_iterator::type - >::type* = nullptr) + std::enable_if_t< + boost::has_range_const_iterator::value + >* = nullptr) { return read_PLY_faces(in, element, polygons, std::back_inserter(fcolors), vertex_indices_tag); } diff --git a/Stream_support/include/CGAL/IO/STL.h b/Stream_support/include/CGAL/IO/STL.h index e0ac6ddf435..d2c31b00cf8 100644 --- a/Stream_support/include/CGAL/IO/STL.h +++ b/Stream_support/include/CGAL/IO/STL.h @@ -23,8 +23,8 @@ #include #include -#include +#include #include #include #include @@ -74,7 +74,7 @@ bool read_STL(std::istream& is, TriangleRange& facets, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -193,7 +193,7 @@ bool read_STL(const std::string& fname, TriangleRange& facets, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -282,7 +282,7 @@ bool write_STL(std::ostream& os, const TriangleRange& facets, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { @@ -392,7 +392,7 @@ bool write_STL(const std::string& fname, const TriangleRange& facets, const CGAL_NP_CLASS& np = parameters::default_values() #ifndef DOXYGEN_RUNNING - , typename boost::enable_if >::type* = nullptr + , std::enable_if_t::value>* = nullptr #endif ) { diff --git a/Stream_support/include/CGAL/IO/helpers.h b/Stream_support/include/CGAL/IO/helpers.h index 98830e089c8..b1b65da66a5 100644 --- a/Stream_support/include/CGAL/IO/helpers.h +++ b/Stream_support/include/CGAL/IO/helpers.h @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include #include @@ -80,12 +80,18 @@ struct is_Range boost::mpl::not_ > > // or a std::string / char [x] { }; +template +CGAL_CPP17_INLINE constexpr bool is_Range_v = is_Range::value; + // For polygon meshes template struct is_Point_set_or_Range_or_Iterator : public boost::mpl::or_, is_Range, is_iterator > { }; +template +CGAL_CPP17_INLINE constexpr bool is_Point_set_or_Range_or_Iterator_v = is_Point_set_or_Range_or_Iterator::value; + } // end namespace internal } // end namespace IO } // namespace CGAL diff --git a/Surface_mesh/include/CGAL/Surface_mesh/IO/PLY.h b/Surface_mesh/include/CGAL/Surface_mesh/IO/PLY.h index 44b537f056b..97ba5aed47b 100644 --- a/Surface_mesh/include/CGAL/Surface_mesh/IO/PLY.h +++ b/Surface_mesh/include/CGAL/Surface_mesh/IO/PLY.h @@ -421,7 +421,7 @@ bool fill_simplex_specific_header(std::ostream& os, if(prop == "v:point") { - if(boost::is_same::value) + if(std::is_same::value) { os << "property float x" << std::endl << "property float y" << std::endl @@ -444,7 +444,7 @@ bool fill_simplex_specific_header(std::ostream& os, boost::tie(pmap, okay) = sm.template property_map(prop); if(okay) { - if(boost::is_same::value) + if(std::is_same::value) { os << "property float nx" << std::endl << "property float ny" << std::endl diff --git a/Surface_mesh_approximation/include/CGAL/Surface_mesh_approximation/approximate_triangle_mesh.h b/Surface_mesh_approximation/include/CGAL/Surface_mesh_approximation/approximate_triangle_mesh.h index 5691ac97370..197bae2f4d5 100644 --- a/Surface_mesh_approximation/include/CGAL/Surface_mesh_approximation/approximate_triangle_mesh.h +++ b/Surface_mesh_approximation/include/CGAL/Surface_mesh_approximation/approximate_triangle_mesh.h @@ -24,10 +24,10 @@ #include #include -#include #include #include +#include namespace CGAL { namespace Surface_mesh_approximation { diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/ARAP_parameterizer_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/ARAP_parameterizer_3.h index be36acfcb1f..9f71e2d5dc8 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/ARAP_parameterizer_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/ARAP_parameterizer_3.h @@ -83,7 +83,6 @@ #include #include -#include #include #include @@ -93,6 +92,7 @@ #include #include #include +#include /// \file ARAP_parameterizer_3.h @@ -176,7 +176,7 @@ public: Two_vertices_parameterizer_3 >::type Border_parameterizer; #if !defined(CGAL_EIGEN3_ENABLED) - CGAL_static_assertion_msg(!(boost::is_same::value), + CGAL_static_assertion_msg(!(std::is_same::value), "Error: You must either provide 'SolverTraits_' or link CGAL with the Eigen library"); #endif diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Fixed_border_parameterizer_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Fixed_border_parameterizer_3.h index e7bb9e073ff..2c1d79f2a90 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Fixed_border_parameterizer_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Fixed_border_parameterizer_3.h @@ -32,9 +32,9 @@ #endif #include -#include #include +#include /// \file Fixed_border_parameterizer_3.h @@ -104,7 +104,7 @@ public: Circular_border_arc_length_parameterizer_3 >::type Border_parameterizer; #if !defined(CGAL_EIGEN3_ENABLED) - CGAL_static_assertion_msg(!(boost::is_same::value), + CGAL_static_assertion_msg(!(std::is_same::value), "Error: You must either provide 'SolverTraits_' or link CGAL with the Eigen library"); #endif diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h index d304bcd52d7..0d774636226 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h @@ -41,7 +41,6 @@ #include #include -#include #include #include @@ -51,6 +50,7 @@ #include #include #include +#include /// \file Orbifold_Tutte_parameterizer_3.h @@ -385,7 +385,7 @@ class Orbifold_Tutte_parameterizer_3 public: #ifndef DOXYGEN_RUNNING #if !defined(CGAL_EIGEN3_ENABLED) - CGAL_static_assertion_msg(!(boost::is_same::value), + CGAL_static_assertion_msg(!(std::is_same::value), "Error: You must either provide 'SolverTraits_' or link CGAL with the Eigen library"); #endif diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/internal/validity.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/internal/validity.h index 6d5bdcb3ad0..23519e878bf 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/internal/validity.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/internal/validity.h @@ -26,9 +26,9 @@ #include #include -#include #include #include +#include namespace CGAL { @@ -242,9 +242,9 @@ template - >::type* = nullptr) + std::enable_if_t< + boost::has_range_iterator::value + >* = nullptr) { typedef typename boost::graph_traits::vertex_descriptor vertex_descriptor; typedef typename boost::graph_traits::halfedge_descriptor halfedge_descriptor; diff --git a/Surface_mesh_segmentation/include/CGAL/Surface_mesh_segmentation/internal/AABB_traits.h b/Surface_mesh_segmentation/include/CGAL/Surface_mesh_segmentation/internal/AABB_traits.h index f6f7f3bffe9..c6528a2b403 100644 --- a/Surface_mesh_segmentation/include/CGAL/Surface_mesh_segmentation/internal/AABB_traits.h +++ b/Surface_mesh_segmentation/include/CGAL/Surface_mesh_segmentation/internal/AABB_traits.h @@ -17,9 +17,10 @@ #include -#include #include +#include + namespace CGAL { @@ -45,9 +46,9 @@ public: // activate functions below if K::FT is floating point and fast_bbox_intersection = true template - typename boost::enable_if_c< + std::enable_if_t< boost::is_floating_point::value && fast_bbox_intersection, - bool >::type + bool > operator()(const CGAL::Segment_3& segment, const Bounding_box& bbox) const { const Point_3& p = segment.source(); const Point_3& q = segment.target(); @@ -63,9 +64,9 @@ public: } template - typename boost::enable_if_c< + std::enable_if_t< boost::is_floating_point::value && fast_bbox_intersection, - bool >::type + bool > operator()(const CGAL::Ray_3& ray, const Bounding_box& bbox) const { const Point_3& p = ray.source(); const Point_3& q = ray.second_point(); diff --git a/Surface_mesh_shortest_path/include/CGAL/Surface_mesh_shortest_path/Surface_mesh_shortest_path.h b/Surface_mesh_shortest_path/include/CGAL/Surface_mesh_shortest_path/Surface_mesh_shortest_path.h index f116f933c2e..1792fdddbbb 100644 --- a/Surface_mesh_shortest_path/include/CGAL/Surface_mesh_shortest_path/Surface_mesh_shortest_path.h +++ b/Surface_mesh_shortest_path/include/CGAL/Surface_mesh_shortest_path/Surface_mesh_shortest_path.h @@ -36,6 +36,7 @@ #include #include #include +#include namespace CGAL { diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_probabilistic_plane_policies.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_probabilistic_plane_policies.h index 842f16dd2d4..e533b381ded 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_probabilistic_plane_policies.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_probabilistic_plane_policies.h @@ -64,7 +64,7 @@ public: { } Probabilistic_plane_quadric_calculator(TriangleMesh& tmesh, - typename boost::enable_if >::type* = nullptr) + std::enable_if_t::value >* = nullptr) { // try to initialize the face variance map using the estimated variance // parameters are constants defined for this class diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_probabilistic_triangle_policies.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_probabilistic_triangle_policies.h index 4be3f28c29c..d8ef45f13f0 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_probabilistic_triangle_policies.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_probabilistic_triangle_policies.h @@ -61,7 +61,7 @@ public: { } Probabilistic_triangle_quadric_calculator(TriangleMesh& tmesh, - typename boost::enable_if >::type* = nullptr) + std::enable_if_t::value >* = nullptr) { // try to initialize the face variance map using the estimated variance // parameters are constants defined for this class diff --git a/Surface_mesher/include/CGAL/Surface_mesher/Combining_oracle.h b/Surface_mesher/include/CGAL/Surface_mesher/Combining_oracle.h index a8e570e9c32..46c1a253cc4 100644 --- a/Surface_mesher/include/CGAL/Surface_mesher/Combining_oracle.h +++ b/Surface_mesher/include/CGAL/Surface_mesher/Combining_oracle.h @@ -51,7 +51,7 @@ namespace CGAL { typedef typename Oracle_a::Intersection_point Intersection_point; - CGAL_static_assertion((::boost::is_same< + CGAL_static_assertion((::std::is_same< Intersection_point, typename Oracle_b::Intersection_point>::value)); diff --git a/Surface_sweep_2/include/CGAL/No_intersection_surface_sweep_2.h b/Surface_sweep_2/include/CGAL/No_intersection_surface_sweep_2.h index 54cd07ecd9e..1a55d18baa6 100644 --- a/Surface_sweep_2/include/CGAL/No_intersection_surface_sweep_2.h +++ b/Surface_sweep_2/include/CGAL/No_intersection_surface_sweep_2.h @@ -129,11 +129,8 @@ public: typedef typename Traits_adaptor_2::Top_side_category Top_side_category; typedef typename Traits_adaptor_2::Right_side_category Right_side_category; - BOOST_MPL_ASSERT( - (typename - Arr_sane_identified_tagging< Left_side_category, Bottom_side_category, - Top_side_category, Right_side_category >::result) - ); + CGAL_static_assertion((Arr_sane_identified_tagging< Left_side_category, Bottom_side_category, + Top_side_category, Right_side_category >::value)); protected: /*! diff --git a/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/Remeshing_triangulation_3.h b/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/Remeshing_triangulation_3.h index 7021252fd26..7b2bb34f9cf 100644 --- a/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/Remeshing_triangulation_3.h +++ b/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/Remeshing_triangulation_3.h @@ -23,8 +23,7 @@ #include -#include -#include +#include namespace CGAL { diff --git a/Triangulation_2/include/CGAL/Constrained_Delaunay_triangulation_2.h b/Triangulation_2/include/CGAL/Constrained_Delaunay_triangulation_2.h index 49a13de04fe..9d294ac7ec2 100644 --- a/Triangulation_2/include/CGAL/Constrained_Delaunay_triangulation_2.h +++ b/Triangulation_2/include/CGAL/Constrained_Delaunay_triangulation_2.h @@ -23,7 +23,7 @@ #ifndef CGAL_TRIANGULATION_2_DONT_INSERT_RANGE_OF_POINTS_WITH_INFO #include #include -#include +#include #include #include @@ -313,12 +313,12 @@ public: #ifndef CGAL_TRIANGULATION_2_DONT_INSERT_RANGE_OF_POINTS_WITH_INFO std::ptrdiff_t insert( InputIterator first, InputIterator last, - typename boost::enable_if< + std::enable_if_t< boost::is_convertible< typename internal::Get_iterator_value_type< InputIterator >::type, Point - > - >::type* = nullptr + >::value + >* = nullptr ) #else #if defined(_MSC_VER) @@ -395,12 +395,12 @@ public: std::ptrdiff_t insert( InputIterator first, InputIterator last, - typename boost::enable_if< + std::enable_if_t< boost::is_convertible< typename internal::Get_iterator_value_type< InputIterator >::type, std::pair::type> - > - >::type* =nullptr + >::value + >* =nullptr ) { return insert_with_info< std::pair::type> >(first,last); @@ -410,12 +410,12 @@ public: std::ptrdiff_t insert( boost::zip_iterator< boost::tuple > first, boost::zip_iterator< boost::tuple > last, - typename boost::enable_if< + std::enable_if_t< boost::mpl::and_< boost::is_convertible< typename std::iterator_traits::value_type, Point >, boost::is_convertible< typename std::iterator_traits::value_type, typename internal::Info_check::type > - > - >::type* =nullptr + >::value + >* =nullptr ) { return insert_with_info< boost::tuple::type> >(first,last); diff --git a/Triangulation_2/include/CGAL/Constrained_triangulation_plus_2.h b/Triangulation_2/include/CGAL/Constrained_triangulation_plus_2.h index 31cc763cb02..5a88fdc9efa 100644 --- a/Triangulation_2/include/CGAL/Constrained_triangulation_plus_2.h +++ b/Triangulation_2/include/CGAL/Constrained_triangulation_plus_2.h @@ -23,7 +23,6 @@ #include #include #include -#include #include #include @@ -31,6 +30,7 @@ #include #include +#include namespace CGAL { @@ -1092,7 +1092,7 @@ insert(const Point& a, Locate_type lt, Face_handle loc, int li) if ( lt == Triangulation::EDGE && loc->is_constrained(li) ) { - if(boost::is_same::value) + if(std::is_same::value) throw typename Tr::Intersection_of_constraints_exception(); insert_in_constrained_edge = true; diff --git a/Triangulation_2/include/CGAL/Delaunay_triangulation_2.h b/Triangulation_2/include/CGAL/Delaunay_triangulation_2.h index c8fc845f01b..134027f99c0 100644 --- a/Triangulation_2/include/CGAL/Delaunay_triangulation_2.h +++ b/Triangulation_2/include/CGAL/Delaunay_triangulation_2.h @@ -300,12 +300,12 @@ public: template < class InputIterator > std::ptrdiff_t insert(InputIterator first, InputIterator last, - typename boost::enable_if< - boost::is_convertible< - typename std::iterator_traits::value_type, - Point - > - >::type* = nullptr) + std::enable_if_t< + boost::is_convertible< + typename std::iterator_traits::value_type, + Point + >::value + >* = nullptr) #else template < class InputIterator > std::ptrdiff_t @@ -373,11 +373,11 @@ public: std::ptrdiff_t insert(InputIterator first, InputIterator last, - typename boost::enable_if< + std::enable_if_t< boost::is_convertible< typename std::iterator_traits::value_type, std::pair::type> - > >::type* = nullptr) + >::value >* = nullptr) { return insert_with_info< std::pair::type> >(first,last); } @@ -386,12 +386,12 @@ public: std::ptrdiff_t insert(boost::zip_iterator< boost::tuple > first, boost::zip_iterator< boost::tuple > last, - typename boost::enable_if< + std::enable_if_t< boost::mpl::and_< boost::is_convertible< typename std::iterator_traits::value_type, Point >, boost::is_convertible< typename std::iterator_traits::value_type, typename internal::Info_check::type > - > - >::type* = nullptr) + >::value + >* = nullptr) { return insert_with_info< boost::tuple::type> >(first,last); } diff --git a/Triangulation_2/include/CGAL/Regular_triangulation_2.h b/Triangulation_2/include/CGAL/Regular_triangulation_2.h index d0ff477abd1..fe4b02f7f41 100644 --- a/Triangulation_2/include/CGAL/Regular_triangulation_2.h +++ b/Triangulation_2/include/CGAL/Regular_triangulation_2.h @@ -393,12 +393,12 @@ public: template < class InputIterator > std::ptrdiff_t insert(InputIterator first, InputIterator last, - typename boost::enable_if< + std::enable_if_t< boost::is_convertible< typename std::iterator_traits::value_type, Weighted_point - > - >::type* = nullptr + >::value + >* = nullptr ) #else template < class InputIterator > @@ -514,12 +514,12 @@ public: std::ptrdiff_t insert(InputIterator first, InputIterator last, - typename boost::enable_if< + std::enable_if_t< boost::is_convertible< typename std::iterator_traits::value_type, std::pair::type> - > - >::type* = nullptr + >::value + >* = nullptr ) {return insert_with_info< std::pair::type> >(first,last);} @@ -527,12 +527,12 @@ public: std::ptrdiff_t insert(boost::zip_iterator< boost::tuple > first, boost::zip_iterator< boost::tuple > last, - typename boost::enable_if< + std::enable_if_t< boost::mpl::and_< typename boost::is_convertible< typename std::iterator_traits::value_type, Weighted_point >, typename boost::is_convertible< typename std::iterator_traits::value_type, typename internal::Info_check::type > - > - >::type* =nullptr + >::value + >* =nullptr ) {return insert_with_info< boost::tuple::type> >(first,last);} #endif //CGAL_TRIANGULATION_2_DONT_INSERT_RANGE_OF_POINTS_WITH_INFO diff --git a/Triangulation_2/include/CGAL/Triangulation_2.h b/Triangulation_2/include/CGAL/Triangulation_2.h index 75ebfb45a09..3d2a6e73629 100644 --- a/Triangulation_2/include/CGAL/Triangulation_2.h +++ b/Triangulation_2/include/CGAL/Triangulation_2.h @@ -631,12 +631,12 @@ public: #ifndef CGAL_TRIANGULATION_2_DONT_INSERT_RANGE_OF_POINTS_WITH_INFO template < class InputIterator > std::ptrdiff_t insert(InputIterator first, InputIterator last, - typename boost::enable_if< - boost::is_convertible< - typename std::iterator_traits::value_type, - Point - > - >::type* = nullptr) + std::enable_if_t< + boost::is_convertible< + typename std::iterator_traits::value_type, + Point + >::value + >* = nullptr) #else template < class InputIterator > std::ptrdiff_t @@ -696,11 +696,11 @@ public: std::ptrdiff_t insert(InputIterator first, InputIterator last, - typename boost::enable_if< + std::enable_if_t< boost::is_convertible< typename std::iterator_traits::value_type, std::pair::type> - > >::type* = NULL) + >::value >* = NULL) { return insert_with_info< std::pair::type> >(first,last); } @@ -709,12 +709,12 @@ public: std::ptrdiff_t insert(boost::zip_iterator< boost::tuple > first, boost::zip_iterator< boost::tuple > last, - typename boost::enable_if< + std::enable_if_t< boost::mpl::and_< boost::is_convertible< typename std::iterator_traits::value_type, Point >, boost::is_convertible< typename std::iterator_traits::value_type, typename internal::Info_check::type > - > - >::type* = NULL) + >::value + >* = NULL) { return insert_with_info< boost::tuple::type> >(first,last); } diff --git a/Triangulation_2/test/Triangulation_2/include/CGAL/_test_cls_constrained_triangulation_2.h b/Triangulation_2/test/Triangulation_2/include/CGAL/_test_cls_constrained_triangulation_2.h index 7aab8e70ff0..2fc501ad48c 100644 --- a/Triangulation_2/test/Triangulation_2/include/CGAL/_test_cls_constrained_triangulation_2.h +++ b/Triangulation_2/test/Triangulation_2/include/CGAL/_test_cls_constrained_triangulation_2.h @@ -23,8 +23,8 @@ // ============================================================================ #include +#include #include -#include enum Intersection_type { NO_INTERSECTION = 0, @@ -55,18 +55,18 @@ _test_cdt_throwing(const Pt& p0, const Pt& p1, const Pt& p2, const Pt& p3, // If the intersection requires no construction, then only 'No_constraint_intersection_tag' throws if(intersection_type == INTERSECTION_WITHOUT_CONSTRUCTION) { - assert((boost::is_same::value)); + assert((std::is_same::value)); } else // threw and it's not a construction-less intersection ---> real intersection { assert(intersection_type == INTERSECTION); #if !defined(CGAL_NO_DEPRECATED_CODE) && defined(CGAL_NO_DEPRECATION_WARNINGS) - assert((boost::is_same::value) || - (boost::is_same::value) || - (boost::is_same::value)); + assert((std::is_same::value) || + (std::is_same::value) || + (std::is_same::value)); #else - assert((boost::is_same::value) || - (boost::is_same::value)); + assert((std::is_same::value) || + (std::is_same::value)); #endif } @@ -76,14 +76,14 @@ _test_cdt_throwing(const Pt& p0, const Pt& p1, const Pt& p2, const Pt& p3, if(intersection_type == INTERSECTION_WITHOUT_CONSTRUCTION) { // Even with an intersection without construction, 'No_constraint_intersection_tag' should have thrown - assert(!(boost::is_same::value)); + assert(!(std::is_same::value)); } else if(intersection_type == INTERSECTION) { - assert(!(boost::is_same::value) && - !(boost::is_same::value)); + assert(!(std::is_same::value) && + !(std::is_same::value)); #if !defined(CGAL_NO_DEPRECATED_CODE) && defined(CGAL_NO_DEPRECATION_WARNINGS) - assert(!(boost::is_same::value)); + assert(!(std::is_same::value)); #endif } } diff --git a/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h b/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h index a83ac381aea..094950e1fe9 100644 --- a/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h +++ b/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h @@ -333,12 +333,12 @@ public: #ifndef CGAL_TRIANGULATION_3_DONT_INSERT_RANGE_OF_POINTS_WITH_INFO template < class InputIterator > std::ptrdiff_t insert(InputIterator first, InputIterator last, - typename boost::enable_if< + std::enable_if_t< boost::is_convertible< typename std::iterator_traits::value_type, Point - > - >::type* = nullptr) + >::value + >* = nullptr) #else template < class InputIterator > std::ptrdiff_t insert(InputIterator first, InputIterator last) @@ -479,12 +479,12 @@ private: public: template < class InputIterator > std::ptrdiff_t insert(InputIterator first, InputIterator last, - typename boost::enable_if< + std::enable_if_t< boost::is_convertible< typename std::iterator_traits::value_type, std::pair::type> - > >::type* =nullptr) + >::value >* =nullptr) { return insert_with_info< std::pair::type> >(first,last); } @@ -493,12 +493,12 @@ public: std::ptrdiff_t insert(boost::zip_iterator< boost::tuple > first, boost::zip_iterator< boost::tuple > last, - typename boost::enable_if< + std::enable_if_t< boost::mpl::and_< boost::is_convertible< typename std::iterator_traits::value_type, Point >, boost::is_convertible< typename std::iterator_traits::value_type, typename internal::Info_check::type > - > - >::type* =nullptr) + >::value + >* =nullptr) { return insert_with_info< boost::tuple::type> >(first,last); diff --git a/Triangulation_3/include/CGAL/Delaunay_triangulation_cell_base_3.h b/Triangulation_3/include/CGAL/Delaunay_triangulation_cell_base_3.h index 35e31fa4782..44c6acdc299 100644 --- a/Triangulation_3/include/CGAL/Delaunay_triangulation_cell_base_3.h +++ b/Triangulation_3/include/CGAL/Delaunay_triangulation_cell_base_3.h @@ -23,7 +23,7 @@ #include #include -#include +#include namespace CGAL { diff --git a/Triangulation_3/include/CGAL/Regular_triangulation_3.h b/Triangulation_3/include/CGAL/Regular_triangulation_3.h index ef75d1df2ee..10444aee9fc 100644 --- a/Triangulation_3/include/CGAL/Regular_triangulation_3.h +++ b/Triangulation_3/include/CGAL/Regular_triangulation_3.h @@ -336,10 +336,10 @@ public: #ifndef CGAL_TRIANGULATION_3_DONT_INSERT_RANGE_OF_POINTS_WITH_INFO template < class InputIterator > std::ptrdiff_t insert(InputIterator first, InputIterator last, - typename boost::enable_if< + std::enable_if_t< boost::is_convertible< typename std::iterator_traits::value_type, - Weighted_point> >::type* = nullptr) + Weighted_point>::value >* = nullptr) #else template < class InputIterator > std::ptrdiff_t insert(InputIterator first, InputIterator last) @@ -575,12 +575,12 @@ public: template < class InputIterator > std::ptrdiff_t insert(InputIterator first, InputIterator last, - typename boost::enable_if< + std::enable_if_t< boost::is_convertible< typename std::iterator_traits::value_type, std::pair::type> - > - >::type* = nullptr) + >::value + >* = nullptr) { return insert_with_info< std::pair > first, boost::zip_iterator< boost::tuple > last, - typename boost::enable_if< + std::enable_if_t< boost::mpl::and_< typename boost::is_convertible< typename std::iterator_traits::value_type, Weighted_point >, typename boost::is_convertible< typename std::iterator_traits::value_type, typename internal::Info_check::type > - > >::type* =nullptr) + >::value >* =nullptr) { return insert_with_info< boost::tuple #include -#include -#include - #include +#include namespace CGAL { @@ -96,47 +94,47 @@ public: // Memory_policy is Tag_true ------------------------------------------------- template - Point_iterator hidden_points_begin_internal(typename boost::enable_if_c::type* = nullptr) + Point_iterator hidden_points_begin_internal(std::enable_if_t* = nullptr) { return _hidden.begin(); } template - Point_iterator hidden_points_end_internal(typename boost::enable_if_c::type* = nullptr) + Point_iterator hidden_points_end_internal(std::enable_if_t* = nullptr) { return _hidden.end(); } template - Point_const_iterator hidden_points_begin_internal(typename boost::enable_if_c::type* = nullptr) const + Point_const_iterator hidden_points_begin_internal(std::enable_if_t* = nullptr) const { return _hidden.begin(); } template - Point_const_iterator hidden_points_end_internal(typename boost::enable_if_c::type* = nullptr) const + Point_const_iterator hidden_points_end_internal(std::enable_if_t* = nullptr) const { return _hidden.end(); } template - void hide_point_internal(const Point& p, typename boost::enable_if_c::type* = nullptr) + void hide_point_internal(const Point& p, std::enable_if_t* = nullptr) { _hidden.push_back(p); } template - void unhide_point_internal(const Point_iterator pit, typename boost::enable_if_c::type* = nullptr) + void unhide_point_internal(const Point_iterator pit, std::enable_if_t* = nullptr) { _hidden.erase(pit); } // Memory_policy is Tag_false ------------------------------------------------ template - Point_iterator hidden_points_begin_internal(typename boost::disable_if_c::type* = nullptr) + Point_iterator hidden_points_begin_internal(std::enable_if_t* = nullptr) { return hidden_points_end(); } template - Point_iterator hidden_points_end_internal(typename boost::disable_if_c::type* = nullptr) + Point_iterator hidden_points_end_internal(std::enable_if_t* = nullptr) { return _hidden.end(); } // const versions template - Point_const_iterator hidden_points_begin_internal(typename boost::disable_if_c::type* = nullptr) const + Point_const_iterator hidden_points_begin_internal(std::enable_if_t* = nullptr) const { return hidden_points_end(); } template - Point_const_iterator hidden_points_end_internal(typename boost::disable_if_c::type* = nullptr) const + Point_const_iterator hidden_points_end_internal(std::enable_if_t* = nullptr) const { return _hidden.end(); } template - void hide_point_internal(const Point&, typename boost::disable_if_c::type* = nullptr) + void hide_point_internal(const Point&, std::enable_if_t* = nullptr) { } template - void unhide_point_internal(const Point_iterator, typename boost::disable_if_c::type* = nullptr) + void unhide_point_internal(const Point_iterator, std::enable_if_t* = nullptr) { } template diff --git a/Triangulation_3/include/CGAL/Triangulation_3.h b/Triangulation_3/include/CGAL/Triangulation_3.h index ad24b31c6d6..25d4f462201 100644 --- a/Triangulation_3/include/CGAL/Triangulation_3.h +++ b/Triangulation_3/include/CGAL/Triangulation_3.h @@ -1145,12 +1145,12 @@ public: #ifndef CGAL_TRIANGULATION_3_DONT_INSERT_RANGE_OF_POINTS_WITH_INFO template < class InputIterator > std::ptrdiff_t insert(InputIterator first, InputIterator last, - typename boost::enable_if< + std::enable_if_t< boost::is_convertible< typename std::iterator_traits::value_type, Point - > - >::type* = nullptr) + >::value + >* = nullptr) #else template < class InputIterator > std::ptrdiff_t insert(InputIterator first, InputIterator last) @@ -1208,12 +1208,12 @@ protected: public: template < class InputIterator > std::ptrdiff_t insert(InputIterator first, InputIterator last, - typename boost::enable_if< + std::enable_if_t< boost::is_convertible< typename std::iterator_traits::value_type, std::pair::type> - > >::type* =NULL) + >::value >* =NULL) { return insert_with_info< std::pair::type> >(first,last); } @@ -1222,12 +1222,12 @@ public: std::ptrdiff_t insert(boost::zip_iterator< boost::tuple > first, boost::zip_iterator< boost::tuple > last, - typename boost::enable_if< + std::enable_if_t< boost::mpl::and_< boost::is_convertible< typename std::iterator_traits::value_type, Point >, boost::is_convertible< typename std::iterator_traits::value_type, typename internal::Info_check::type > - > - >::type* =NULL) + >::value + >* =NULL) { return insert_with_info< boost::tuple::type> >(first,last); diff --git a/Triangulation_3/include/CGAL/Triangulation_hierarchy_3.h b/Triangulation_3/include/CGAL/Triangulation_hierarchy_3.h index 7281a4d316b..7f8b2ce1dd3 100644 --- a/Triangulation_3/include/CGAL/Triangulation_hierarchy_3.h +++ b/Triangulation_3/include/CGAL/Triangulation_hierarchy_3.h @@ -179,12 +179,12 @@ public: template < class InputIterator > std::ptrdiff_t insert( InputIterator first, InputIterator last, - typename boost::enable_if< + std::enable_if_t< boost::is_convertible< typename std::iterator_traits::value_type, Point - > - >::type* = nullptr + >::value + >* = nullptr ) #else template < class InputIterator > @@ -316,11 +316,11 @@ public: std::ptrdiff_t insert( InputIterator first, InputIterator last, - typename boost::enable_if< + std::enable_if_t< boost::is_convertible< typename std::iterator_traits::value_type, std::pair::type> - > >::type* =nullptr + >::value >* =nullptr ) { return insert_with_info< std::pair::type> >(first,last); @@ -330,12 +330,12 @@ public: std::ptrdiff_t insert( boost::zip_iterator< boost::tuple > first, boost::zip_iterator< boost::tuple > last, - typename boost::enable_if< + std::enable_if_t< boost::mpl::and_< boost::is_convertible< typename std::iterator_traits::value_type, Point >, boost::is_convertible< typename std::iterator_traits::value_type, typename internal::Info_check::type > - > - >::type* =nullptr + >::value + >* =nullptr ) { return insert_with_info< boost::tuple::type> >(first,last); diff --git a/Triangulation_on_sphere_2/include/CGAL/Delaunay_triangulation_on_sphere_2.h b/Triangulation_on_sphere_2/include/CGAL/Delaunay_triangulation_on_sphere_2.h index 35600bdd788..31158c0c9b1 100644 --- a/Triangulation_on_sphere_2/include/CGAL/Delaunay_triangulation_on_sphere_2.h +++ b/Triangulation_on_sphere_2/include/CGAL/Delaunay_triangulation_on_sphere_2.h @@ -259,7 +259,7 @@ public: template Vertex_handle insert(const P& p, Face_handle f = Face_handle(), - typename std::enable_if::value>::type* = nullptr) + std::enable_if_t::value>* = nullptr) { CGAL_triangulation_assertion((std::is_same::value)); @@ -291,16 +291,16 @@ public: // Input range has value type Point, with Point != Point_3 template size_type insert(InputIterator first, InputIterator beyond, - typename std::enable_if< + std::enable_if_t< !std::is_same::value_type, - Point_3>::value>::type* = nullptr); + Point_3>::value>* = nullptr); // Input range has value type Point_3, possibly with Point == Point_3 template size_type insert(InputIterator first, InputIterator beyond, - typename std::enable_if< + std::enable_if_t< std::is_same::value_type, - Point_3>::value>::type* = nullptr); + Point_3>::value>* = nullptr); bool update_ghost_faces(Vertex_handle v, bool first = false); @@ -626,9 +626,9 @@ template typename Delaunay_triangulation_on_sphere_2::size_type Delaunay_triangulation_on_sphere_2:: insert(InputIterator first, InputIterator beyond, - typename std::enable_if< + std::enable_if_t< !std::is_same::value_type, - Point_3>::value>::type*) + Point_3>::value>*) { typedef Point_3_with_iterator P3_wit; @@ -682,9 +682,9 @@ template typename Delaunay_triangulation_on_sphere_2::size_type Delaunay_triangulation_on_sphere_2:: insert(InputIterator first, InputIterator beyond, - typename std::enable_if< + std::enable_if_t< std::is_same::value_type, - Point_3>::value>::type*) + Point_3>::value>*) { const size_type n = number_of_vertices();