From d9ec504f912a94057519fee6abf1c4086f81fa0c Mon Sep 17 00:00:00 2001 From: Michael Hoffmann Date: Fri, 14 Sep 2001 08:15:06 +0000 Subject: [PATCH] Some fixes for sunpro 5.3. --- .../include/CGAL/Cartesian_matrix.h | 1 - .../include/CGAL/Dynamic_matrix.h | 1 - .../include/CGAL/Extremal_polygon_traits_2.h | 1 - .../include/CGAL/Pierce_rectangles_2_traits.h | 1 - .../CGAL/Rectangular_p_center_traits_2.h | 50 ++++++++++++------- .../Sorted_matrix_search_traits_adaptor.h | 1 - .../include/CGAL/Transform_iterator.h | 1 - .../include/CGAL/all_furthest_neighbors_2.h | 4 +- .../include/CGAL/extremal_polygon_2.h | 1 - .../include/CGAL/monotone_matrix_search.h | 1 - .../include/CGAL/pierce_rectangles_2.h | 9 +++- .../include/CGAL/rectangular_3_center_2.h | 1 - .../CGAL/rectangular_3_center_2_msvc.h | 1 - .../include/CGAL/rectangular_p_center_2.h | 1 - .../include/CGAL/sorted_matrix_search.h | 1 - Packages/Matrix_search/version | 2 +- 16 files changed, 40 insertions(+), 37 deletions(-) diff --git a/Packages/Matrix_search/include/CGAL/Cartesian_matrix.h b/Packages/Matrix_search/include/CGAL/Cartesian_matrix.h index 39e9bd133dd..ee760e1cc5e 100644 --- a/Packages/Matrix_search/include/CGAL/Cartesian_matrix.h +++ b/Packages/Matrix_search/include/CGAL/Cartesian_matrix.h @@ -109,7 +109,6 @@ cartesian_matrix( RandomAccessIC_row r_f, CGAL_END_NAMESPACE #endif // ! (CGAL_CARTESIAN_MATRIX_H) - // ---------------------------------------------------------------------------- // ** EOF // ---------------------------------------------------------------------------- diff --git a/Packages/Matrix_search/include/CGAL/Dynamic_matrix.h b/Packages/Matrix_search/include/CGAL/Dynamic_matrix.h index 5db551e10a9..c130d3f48f3 100644 --- a/Packages/Matrix_search/include/CGAL/Dynamic_matrix.h +++ b/Packages/Matrix_search/include/CGAL/Dynamic_matrix.h @@ -125,7 +125,6 @@ dynamic_matrix( const Matrix& m) CGAL_END_NAMESPACE #endif // ! (CGAL_DYNAMIC_MATRIX_H) - // ---------------------------------------------------------------------------- // ** EOF // ---------------------------------------------------------------------------- diff --git a/Packages/Matrix_search/include/CGAL/Extremal_polygon_traits_2.h b/Packages/Matrix_search/include/CGAL/Extremal_polygon_traits_2.h index 10bf88945d0..f9b8c323d30 100644 --- a/Packages/Matrix_search/include/CGAL/Extremal_polygon_traits_2.h +++ b/Packages/Matrix_search/include/CGAL/Extremal_polygon_traits_2.h @@ -388,7 +388,6 @@ maximum_perimeter_inscribed_k_gon( CGAL_END_NAMESPACE #endif // ! (CGAL_EXTREMAL_POLYGON_TRAITS_2_H) - // ---------------------------------------------------------------------------- // ** EOF // ---------------------------------------------------------------------------- diff --git a/Packages/Matrix_search/include/CGAL/Pierce_rectangles_2_traits.h b/Packages/Matrix_search/include/CGAL/Pierce_rectangles_2_traits.h index 6542dbbfb75..d5356bc4983 100644 --- a/Packages/Matrix_search/include/CGAL/Pierce_rectangles_2_traits.h +++ b/Packages/Matrix_search/include/CGAL/Pierce_rectangles_2_traits.h @@ -51,7 +51,6 @@ CGAL_END_NAMESPACE #endif // ! (CGAL_PIERCE_RECTANGLES_2_TRAITS_H) - // ---------------------------------------------------------------------------- // ** EOF // ---------------------------------------------------------------------------- diff --git a/Packages/Matrix_search/include/CGAL/Rectangular_p_center_traits_2.h b/Packages/Matrix_search/include/CGAL/Rectangular_p_center_traits_2.h index 092224b7c24..9bd5a8e98fd 100644 --- a/Packages/Matrix_search/include/CGAL/Rectangular_p_center_traits_2.h +++ b/Packages/Matrix_search/include/CGAL/Rectangular_p_center_traits_2.h @@ -51,7 +51,7 @@ protected: }; template < class R > -struct Signed_x_distance_2 +struct I_Signed_x_distance_2 : public CGAL_STD::binary_function< Point_2< R >, Point_2< R >, typename R::FT > { @@ -61,7 +61,7 @@ struct Signed_x_distance_2 { return q1.x() - q2.x(); } }; template < class R > -struct Signed_y_distance_2 +struct I_Signed_y_distance_2 : public CGAL_STD::binary_function< Point_2< R >, Point_2< R >, typename R::FT > { @@ -71,7 +71,7 @@ struct Signed_y_distance_2 { return q1.y() - q2.y(); } }; template < class R > -struct Infinity_distance_2 +struct I_Infinity_distance_2 : public CGAL_STD::binary_function< Point_2< R >, Point_2< R >, typename R::FT > { @@ -83,7 +83,7 @@ struct Infinity_distance_2 } }; template < class R > -struct Signed_infinity_distance_2 +struct I_Signed_infinity_distance_2 : public CGAL_STD::binary_function< Point_2< R >, Point_2< R >, typename R::FT > { @@ -93,7 +93,7 @@ struct Signed_infinity_distance_2 { return max(q1.x() - q2.x(), q1.y() - q2.y()); } }; template < class R > -struct Construct_point_2_above_right_implicit_point_2 { +struct I_Construct_point_2_above_right_implicit_point_2 { // (p, q, r) |--> (p.x() + r, q.y() + r) typedef typename R::FT FT; typedef Point_2< Cartesian< FT > > P; @@ -104,7 +104,7 @@ struct Construct_point_2_above_right_implicit_point_2 { }; template < class R > -struct Construct_point_2_above_left_implicit_point_2 { +struct I_Construct_point_2_above_left_implicit_point_2 { // (p, q, r) |--> (p.x() - r, q.y() + r) typedef typename R::FT FT; typedef Point_2< Cartesian< FT > > P; @@ -115,7 +115,7 @@ struct Construct_point_2_above_left_implicit_point_2 { }; template < class R > -struct Construct_point_2_below_left_implicit_point_2 { +struct I_Construct_point_2_below_left_implicit_point_2 { // (p, q, r) |--> (p.x() - r, q.y() - r) typedef typename R::FT FT; typedef Point_2< Cartesian< FT > > P; @@ -126,7 +126,7 @@ struct Construct_point_2_below_left_implicit_point_2 { }; template < class R > -struct Construct_point_2_below_right_implicit_point_2 { +struct I_Construct_point_2_below_right_implicit_point_2 { // (p, q, r) |--> (p.x() + r, q.y() - r) typedef typename R::FT FT; typedef Point_2< Cartesian< FT > > P; @@ -163,19 +163,19 @@ struct Rectangular_p_center_default_traits_2 : public R typedef typename R::Construct_vertex_2 Construct_vertex_2; // additions - typedef Signed_x_distance_2< R > Signed_x_distance_2; - typedef Signed_y_distance_2< R > Signed_y_distance_2; + typedef I_Signed_x_distance_2< R > Signed_x_distance_2; + typedef I_Signed_y_distance_2< R > Signed_y_distance_2; - typedef Infinity_distance_2< R > Infinity_distance_2; - typedef Signed_infinity_distance_2< R > Signed_infinity_distance_2; + typedef I_Infinity_distance_2< R > Infinity_distance_2; + typedef I_Signed_infinity_distance_2< R > Signed_infinity_distance_2; - typedef Construct_point_2_above_right_implicit_point_2< R > + typedef I_Construct_point_2_above_right_implicit_point_2< R > Construct_point_2_above_right_implicit_point_2; - typedef Construct_point_2_above_left_implicit_point_2< R > + typedef I_Construct_point_2_above_left_implicit_point_2< R > Construct_point_2_above_left_implicit_point_2; - typedef Construct_point_2_below_right_implicit_point_2< R > + typedef I_Construct_point_2_below_right_implicit_point_2< R > Construct_point_2_below_right_implicit_point_2; - typedef Construct_point_2_below_left_implicit_point_2< R > + typedef I_Construct_point_2_below_left_implicit_point_2< R > Construct_point_2_below_left_implicit_point_2; // get object methods: @@ -261,8 +261,7 @@ protected: }; // Rectangular_p_center_matrix_search_traits_2< ... > template < class ForwardIterator, class Traits > -Iso_rectangle_2< - typename std::iterator_traits< ForwardIterator >::value_type::R > +typename Traits::Iso_rectangle_2 bounding_box_2(ForwardIterator f, ForwardIterator l, const Traits& t) // PRE: f != l. { @@ -306,6 +305,20 @@ bounding_box_2(ForwardIterator f, ForwardIterator l) Traits t; return bounding_box_2(f, l, t); } // bounding_box_2(f, l) +#ifdef CGAL_CFG_MATCHING_BUG_3 +template < class ForwardIterator > +inline typename +std::iterator_traits< ForwardIterator* >::value_type::R::Iso_rectangle_2 +bounding_box_2(ForwardIterator* f, ForwardIterator* l) +// PRE: f != l. +{ + CGAL_precondition(f != l); + typedef typename std::iterator_traits< ForwardIterator* >::value_type::R R; + typedef Rectangular_p_center_default_traits_2< R > Traits; + Traits t; + return bounding_box_2(f, l, t); +} // bounding_box_2(f, l) +#endif // CGAL_CFG_MATCHING_BUG_3 template < class Rectangle, class Traits > inline Rectangle construct_bounding_box_union_2(const Rectangle& r1, @@ -352,7 +365,6 @@ CGAL_END_NAMESPACE #endif // ! (CGAL_RECTANGULAR_P_CENTER_TRAITS_2_H) - // ---------------------------------------------------------------------------- // ** EOF // ---------------------------------------------------------------------------- diff --git a/Packages/Matrix_search/include/CGAL/Sorted_matrix_search_traits_adaptor.h b/Packages/Matrix_search/include/CGAL/Sorted_matrix_search_traits_adaptor.h index f9dcc1f1665..ee2611de50c 100644 --- a/Packages/Matrix_search/include/CGAL/Sorted_matrix_search_traits_adaptor.h +++ b/Packages/Matrix_search/include/CGAL/Sorted_matrix_search_traits_adaptor.h @@ -74,7 +74,6 @@ sorted_matrix_search_traits_adaptor(FeasibilityTest f, const Matrix&) CGAL_END_NAMESPACE #endif // ! (CGAL_SORTED_MATRIX_SEARCH_TRAITS_ADAPTOR_H) - // ---------------------------------------------------------------------------- // ** EOF // ---------------------------------------------------------------------------- diff --git a/Packages/Matrix_search/include/CGAL/Transform_iterator.h b/Packages/Matrix_search/include/CGAL/Transform_iterator.h index 780231078dc..65656cff9e5 100644 --- a/Packages/Matrix_search/include/CGAL/Transform_iterator.h +++ b/Packages/Matrix_search/include/CGAL/Transform_iterator.h @@ -78,7 +78,6 @@ query_circulator_or_iterator( CGAL_END_NAMESPACE #endif // ! (CGAL_TRANSFORM_ITERATOR_H) - // ---------------------------------------------------------------------------- // ** EOF // ---------------------------------------------------------------------------- diff --git a/Packages/Matrix_search/include/CGAL/all_furthest_neighbors_2.h b/Packages/Matrix_search/include/CGAL/all_furthest_neighbors_2.h index 8939c087bd3..224e6864750 100644 --- a/Packages/Matrix_search/include/CGAL/all_furthest_neighbors_2.h +++ b/Packages/Matrix_search/include/CGAL/all_furthest_neighbors_2.h @@ -87,8 +87,7 @@ public: #undef Base #endif // _MSC_VER -#if !defined(CGAL_CFG_NO_ITERATOR_TRAITS) && \ -!defined(CGAL_CFG_MATCHING_BUG_2) +#if !defined(CGAL_CFG_NO_ITERATOR_TRAITS) && !defined(CGAL_CFG_MATCHING_BUG_2) CGAL_END_NAMESPACE #include @@ -238,7 +237,6 @@ all_furthest_neighbors( RandomAccessIC points_begin, CGAL_END_NAMESPACE #endif // ! (CGAL_ALL_FURTHEST_NEIGHBORS_2_H) - // ---------------------------------------------------------------------------- // ** EOF // ---------------------------------------------------------------------------- diff --git a/Packages/Matrix_search/include/CGAL/extremal_polygon_2.h b/Packages/Matrix_search/include/CGAL/extremal_polygon_2.h index 6eb94d528ff..911bf25bc85 100644 --- a/Packages/Matrix_search/include/CGAL/extremal_polygon_2.h +++ b/Packages/Matrix_search/include/CGAL/extremal_polygon_2.h @@ -848,7 +848,6 @@ CGAL_END_NAMESPACE #endif // ! (CGAL_EXTREMAL_POLYGON_2_H) - // ---------------------------------------------------------------------------- // ** EOF // ---------------------------------------------------------------------------- diff --git a/Packages/Matrix_search/include/CGAL/monotone_matrix_search.h b/Packages/Matrix_search/include/CGAL/monotone_matrix_search.h index e79e12a452a..1a921082eb8 100644 --- a/Packages/Matrix_search/include/CGAL/monotone_matrix_search.h +++ b/Packages/Matrix_search/include/CGAL/monotone_matrix_search.h @@ -213,7 +213,6 @@ _reduce_matrix( CGAL_END_NAMESPACE #endif // ! (CGAL_MONOTONE_MATRIX_SEARCH_H) - // ---------------------------------------------------------------------------- // ** EOF // ---------------------------------------------------------------------------- diff --git a/Packages/Matrix_search/include/CGAL/pierce_rectangles_2.h b/Packages/Matrix_search/include/CGAL/pierce_rectangles_2.h index 2c1ed31879e..42f155f065b 100644 --- a/Packages/Matrix_search/include/CGAL/pierce_rectangles_2.h +++ b/Packages/Matrix_search/include/CGAL/pierce_rectangles_2.h @@ -224,10 +224,16 @@ struct Staircases : public Loc_domain< Traits_ > { template < class InputIC > Staircases(InputIC b, InputIC e, Traits t) - : Base(b, e, t), sorted(pts), + : Base(b, e, t), + sorted(pts), xgy(t.signed_x_distance_2_object()(maxx, minx) > t.signed_y_distance_2_object()(maxy, miny)) { +#if defined(__sun) && defined(__SUNPRO_CC) + // I get linker errors otherweise, the call from above + // does not seem to suffice :-( + { Base bb(e, e, t); } +#endif // defined(__sun) && defined(__SUNPRO_CC) #ifndef CGAL_CFG_NO_NAMESPACE using std::sort; using std::find_if; @@ -1032,7 +1038,6 @@ struct Four_covering_algorithm { CGAL_END_NAMESPACE #endif // ! (CGAL_PIERCE_RECTANGLES_2_H) - // ---------------------------------------------------------------------------- // ** EOF // ---------------------------------------------------------------------------- diff --git a/Packages/Matrix_search/include/CGAL/rectangular_3_center_2.h b/Packages/Matrix_search/include/CGAL/rectangular_3_center_2.h index 4c11ba509e3..5374965b6d9 100644 --- a/Packages/Matrix_search/include/CGAL/rectangular_3_center_2.h +++ b/Packages/Matrix_search/include/CGAL/rectangular_3_center_2.h @@ -1556,7 +1556,6 @@ CGAL_END_NAMESPACE #endif // _MSC_VER #endif // ! (CGAL_RECTANGULAR_3_CENTER_2_H) - // ---------------------------------------------------------------------------- // ** EOF // ---------------------------------------------------------------------------- diff --git a/Packages/Matrix_search/include/CGAL/rectangular_3_center_2_msvc.h b/Packages/Matrix_search/include/CGAL/rectangular_3_center_2_msvc.h index c1de680193a..a93c06252f6 100644 --- a/Packages/Matrix_search/include/CGAL/rectangular_3_center_2_msvc.h +++ b/Packages/Matrix_search/include/CGAL/rectangular_3_center_2_msvc.h @@ -828,7 +828,6 @@ public: }; #endif // ! (CGAL_RECTANGULAR_3_CENTER_2_MSVC_H) - // ---------------------------------------------------------------------------- // ** EOF // ---------------------------------------------------------------------------- diff --git a/Packages/Matrix_search/include/CGAL/rectangular_p_center_2.h b/Packages/Matrix_search/include/CGAL/rectangular_p_center_2.h index f0df0ba3b21..f12bf505965 100644 --- a/Packages/Matrix_search/include/CGAL/rectangular_p_center_2.h +++ b/Packages/Matrix_search/include/CGAL/rectangular_p_center_2.h @@ -462,7 +462,6 @@ rectangular_p_center_2(ForwardIterator f, CGAL_END_NAMESPACE #endif // ! (CGAL_RECTANGULAR_P_CENTER_2_H) - // ---------------------------------------------------------------------------- // ** EOF // ---------------------------------------------------------------------------- diff --git a/Packages/Matrix_search/include/CGAL/sorted_matrix_search.h b/Packages/Matrix_search/include/CGAL/sorted_matrix_search.h index 7e9964269ce..11532898e06 100644 --- a/Packages/Matrix_search/include/CGAL/sorted_matrix_search.h +++ b/Packages/Matrix_search/include/CGAL/sorted_matrix_search.h @@ -415,7 +415,6 @@ sorted_matrix_search(InputIterator f, InputIterator l, Traits t) CGAL_END_NAMESPACE #endif // ! (CGAL_SORTED_MATRIX_SEARCH_H) - // ---------------------------------------------------------------------------- // ** EOF // ---------------------------------------------------------------------------- diff --git a/Packages/Matrix_search/version b/Packages/Matrix_search/version index 253201ad5bf..b7f6e10e87c 100644 --- a/Packages/Matrix_search/version +++ b/Packages/Matrix_search/version @@ -1 +1 @@ -1.49 ( 1 Aug 2001) +1.50 (14 September 2001)