Commit Graph

940 Commits

Author SHA1 Message Date
Andreas Fabri 4183f6ba69 fixed comment 2015-08-23 15:20:19 +02:00
Andreas Fabri bf975ead95 No longer forward declare struct std:hash 2015-08-23 14:30:54 +02:00
Jane Tournois d52bbfaef9 fix the iterator type in mutable_priority_queue,
boost 1.59 still contains this bug too
2015-08-17 15:51:19 +02:00
Laurent Rineau 08666dce25 Merge pull request #179 from afabri/CGAL-add_hash-GF
Add boost::hash and std::hash

https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/hash

Conflicts:
	Installation/changes.html
2015-07-17 15:39:18 +02:00
Sébastien Loriot 2668d83d4e Merge pull request #150 from 'cjamin/Point_set_shape_detection_3-cjamin'
Add an algorithm to fit geometric primitives on a point set

Conflicts:
	Installation/changes.html
	Polyhedron/demo/Polyhedron/CMakeLists.txt
2015-07-17 14:32:09 +02:00
Sébastien Loriot 50595505c4 Merge branch 'Fix_warnings-GF'
Fixes warnings in various packages

Successfully tested in CGAL-4.7-Ic-87
Approved by the release Manager
2015-07-17 14:21:21 +02:00
Laurent Rineau 25df59411d Merge branch 'releases/CGAL-4.6-branch'
Fix a miscompilation by clang-3.6.x

  https://github.com/CGAL/cgal/pull/161
2015-07-15 17:02:02 +02:00
Sébastien Loriot d26e112cf4 fix warnings 2015-07-15 16:57:38 +02:00
Laurent Rineau 17857e15d3 Same patch for <CGAL/Concurrent_compact_container.h>
Patch similar to the previous commit.
2015-07-15 11:33:51 +02:00
Laurent Rineau c774546e1b A better fix, using operator->() 2015-07-14 18:02:40 +02:00
Andreas Fabri 2dea6db3bb Merge branch 'CGAL-add_hash-GF-old' into CGAL-add_hash-GF
Conflicts:
	Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h
2015-07-06 10:51:23 +02:00
Laurent Rineau 2591e6cc7d Fix a miscompilation by clang-3.6.x
Fix issue #139
2015-07-03 17:28:11 +02:00
Guillaume Damiand d67542fb59 Add is_xxx_used in cmap for dart and attributes; add tests in CMap and LCC. 2015-06-22 16:50:56 +02:00
Guillaume Damiand a0b569b83d Remove asserts that avoir to increment/decrement iterators on removed elements. 2015-06-17 09:51:20 +02:00
Guillaume Damiand a423368960 Add also is_used in Concurrent_compact_container to be consistent 2015-06-16 19:48:01 +02:00
Guillaume Damiand 25e28a9cf0 Add is_used function (in code and doc) 2015-06-16 12:29:59 +02:00
Clement Jamin 1097079153 Merge branch 'Point_set_shape_detection_3-cjamin-old' into Point_set_shape_detection_3-cjamin 2015-06-12 16:04:59 +02:00
Andreas Fabri dadb129147 g++ needs a forward declaration for std::hash 2015-06-02 08:46:20 +02:00
Andreas Fabri b6850d35c0 #include <functional> and suppress struct/class warning for VC10 2015-06-01 10:42:52 +02:00
Andreas Fabri cf058cba9c do not use hash of pointers so that our specializations for handles are injective 2015-05-27 17:02:00 +02:00
Andreas Fabri 425cdf0b0c derive from unary_function; Add #define switch to hash underlying pointer 2015-05-27 12:19:55 +02:00
Andreas Fabri 8c20bd91c2 Replace CGAL::get() with CGAL::get_pointee_or_identity() and remove using get:: 2015-05-13 16:18:31 +02:00
Andreas Fabri b7f9849599 Replace CGAL::get() with CGAL::get_pointee_or_identity() and remove using get:: 2015-04-30 11:31:21 +02:00
Sébastien Loriot 5006193a57 add missing size() function 2015-04-29 15:18:54 +02:00
Andreas Fabri 6f42513e58 divide by sizeof(pointee) for Compact_container 2015-04-27 13:44:18 +02:00
Andreas Fabri 79459e8fb8 remove free functions in Iterator_range 2015-04-21 11:57:45 +02:00
Andreas Fabri d74567a177 WIP 2015-04-20 16:11:08 +02:00
Andreas Fabri 89b4f37411 divide by sizeof(pointee) in the hash 2015-04-20 14:32:52 +02:00
Andreas Fabri 0c2a568d73 better coverage of the combinations of mesh and map classes 2015-04-20 10:40:03 +02:00
Sébastien Loriot d36593eb72 add missing const and remove debug output 2015-04-17 17:22:26 +02:00
Andreas Fabri 832208d815 simplifications 2015-04-17 15:49:21 +02:00
Andreas Fabri 205a594a77 add specializations of hash and add tests 2015-04-17 10:21:14 +02:00
Clement Jamin ed3113f89d Code clean-up 2015-03-16 17:01:49 +01:00
Clement Jamin 8bd1fd196c Revert "Temporary CGAL_EXPORT redef"
This reverts commit 5aaa7e8f4f.
It was already there!
2015-03-16 15:13:02 +01:00
Clement Jamin 5aaa7e8f4f Temporary CGAL_EXPORT redef 2015-03-16 14:51:32 +01:00
Guillaume Damiand 9c78897ba5 Merge branch 'CGAL_headers_only-gdamiand_cjamin-old' into CGAL_headers_only-gdamiand_cjamin 2015-03-16 14:00:43 +01:00
Andreas Fabri 962ef07812 Add hash_value for Compact_container, Inplace_list, Index 2015-03-12 16:21:56 +01:00
Andreas Fabri 1f989622e7 replace \code with real examples 2015-02-09 10:54:24 +01:00
Andreas Fabri cc4192a628 Merge branch 'Surface_mesh-fixes-GF'
Approved by the release manager

Conflicts:
	STL_Extension/include/CGAL/Iterator_range.h
2015-01-26 16:54:03 +01:00
Andreas Fabri 8e801bbc80 no need to use boost::range_iterator 2015-01-19 09:00:21 +01:00
Andreas Fabri 06cc350143 include a boost header instead of a forward declaration as the number of template arguments changed 2015-01-16 09:54:34 +01:00
Laurent Rineau beda93fd8e The declaration of boost::range has changed
Use the header <boost/range.hpp>, instead of a forward declaration.
2015-01-13 15:34:02 +01:00
Andreas Fabri 8929fd43c1 Merge branch 'Triangulation_2-NewPolylineConstraint-GF'
Approved by the release manager
Conflicts:
	Documentation/resources/how_to_cite_cgal.bib.in
2015-01-12 11:44:32 +01:00
Andreas Fabri 6e36a853a9 Merge branch 'Surface_mesh-new_package-GF'
Approved by the release manager
Conflicts:
	Documentation/doc/Documentation/dependencies
	Documentation/resources/how_to_cite_cgal.bib.in
	Installation/changes.html
2015-01-12 11:27:35 +01:00
Laurent Rineau 040916239f That cast operator is useless
Intel Compiler even warns about that:

.../include/CGAL/Iterator_range.h(51): warning #597:
  ""CGAL::Iterator_range<I>::operator [...]" will not be called for
  implicit or explicit conversions
      operator Base() const
      ^
2014-12-31 12:49:09 +01:00
Sébastien Loriot d4f875782c use boost::tuple if using clang and libc++ 2014-12-30 12:18:14 +01:00
Jane Tournois 175c4b321e Merge branch 'releases/CGAL-4.5-branch'
Approved by the release manager
2014-12-19 11:31:32 +01:00
Laurent Rineau 4a7929c611 Fix license header: should be LGPLv3+ 2014-12-18 16:51:32 +01:00
Jane Tournois 90a74c1bb6 fix a bug that happens on vc10, because atomics are not initialized 2014-12-16 16:42:22 +01:00
Jane Tournois 88142b2997 fix compilation for TBB 4.3
this partial specialization was only used for testing, so it can be removed
The problem comes from the std::vector of mutex(s), which can't be copied
using the std::vector operator=
2014-12-16 13:02:39 +01:00
Clement Jamin 93a007616a Header-only CGAL_Core 2014-12-15 21:34:29 +01:00
Jane Tournois 3a5a65f264 update branch 2014-12-08 17:30:41 +01:00
Clement Jamin e18e59a72a Header-only for package Kinetic_data_structures 2014-12-02 20:41:19 +01:00
Andreas Fabri 59aab9ba49 two step renaming in order to capitalize 2014-11-26 17:17:56 +01:00
Andreas Fabri 8f54ee3fa2 two step renaming in order to capitalize 2014-11-26 17:17:43 +01:00
Andreas Fabri 4355794781 iterator_range moved the package 2014-11-12 14:40:51 +01:00
Guillaume Damiand e8fe29c79c Ok for the compilation version header only (only for the treated files). 2014-10-31 17:09:48 +01:00
Guillaume Damiand bc30ff8d98 Add assertions_impl 2014-10-30 18:51:45 +01:00
Guillaume Damiand 1182319f5d Redo all the modifs to remove all the cpp files from cgal.
First step where all the XXX.cpp are copied into XXX_impl.h files.
The macro CGAL_HEADER_ONLY allows to know if impl files need to be
included or not into header files; and allow to decide if functions are
in impl files are inline or not.

Next step: process with static variables for the header only version.
2014-10-30 16:05:22 +01:00
Andreas Fabri 34a9d85575 adress some remarks of the reviews 2014-10-06 12:44:24 +02:00
Andreas Fabri 1979820571 cleanup 2014-10-01 12:27:20 +02:00
Andreas Fabri 8e83b04cb5 move iterator_range.h from BGL to STL_Extension 2014-10-01 09:37:11 +02:00
Andreas Fabri 8dfbe2eba4 Remove class Range again, and put functionality into iterator_range 2014-10-01 09:36:10 +02:00
Andreas Fabri 5cee5c6348 Remove the typedefs for the iterators as we offer ranges
Remove the free functions for accessing properties
2014-09-30 11:28:45 +02:00
Andreas Fabri 08a033ffb4 Integrate remarks from the review by Michael and Guillaume.
Switch from pair of iterators to a range class
2014-09-26 16:53:37 +02:00
Andreas Fabri 43b8390a70 Merge branch 'Triangulation_2-NewPolylineConstraint-GF-old' into Triangulation_2-NewPolylineConstraint-GF 2014-08-08 12:47:15 +02:00
Laurent Rineau 333854f38a Fix the license of two files
Trivial fix for master.
2014-07-31 16:19:05 +02:00
Laurent Rineau 3deb8e7910 Merge branch 'Mesh_3-compare_index-GF-old' into Mesh_3-compare_index-GF
Create an integration branch for 'Mesh_3-compare_index-GF': a new branch
created from 'master', where I merged the previous version of
'Mesh_3-compare_index-GF'.

There was a conflict with two features recently merged into 'master' for
CGAL-4.5:

- the move of two files from include/CGAL/Mesh_3/ to include/CGAL/. See
  the small feature:
    http://cgal.org/wiki/Features/Small_Features/New_constructor_in_Label_mesh_domain_3_and_new_function_wrapper

- parallelism for Triangulation_3 and Mesh_3:
    http://cgal.org/wiki/Features/Parallel_Mesh_3

Conflicts:
	Combinatorial_map/include/CGAL/Cell_attribute.h
	Mesh_3/include/CGAL/Implicit_mesh_domain_3.h
	Mesh_3/include/CGAL/Labeled_image_mesh_domain_3.h
	Mesh_3/include/CGAL/Mesh_3/Sliver_perturber.h
	Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h
	Mesh_3/test/Mesh_3/test_meshing_3D_image.cpp
	Mesh_3/test/Mesh_3/test_meshing_polyhedron.cpp
	Mesh_3/test/Mesh_3/test_meshing_polyhedron_with_features.cpp
	Polyhedron/demo/Polyhedron/Polyhedron_type.h
	STL_Extension/include/CGAL/Compact_container.h
	STL_Extension/test/STL_Extension/test_Compact_container.cpp

I also modified the following files during the conflict resolution:

	Linear_cell_complex/include/CGAL/Cell_attribute_with_point.h
	Mesh_3/include/CGAL/Labeled_mesh_domain_3.h
	Mesh_3/include/CGAL/Polyhedral_mesh_domain_with_features_3.h
2014-07-18 15:47:14 +02:00
Clement Jamin fbf824c711 Merge branch 'Mesh_3-parallel-cjamin'
This branch introduces parallel algorithms in Triangulation_3 and Mesh_3,
as well as a Concurrent_compact_container. The corresponding features are:
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Parallel_triangulation_3
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Parallel_Mesh_3

Tested in CGAL-4.5-Ic-98.
Approved by the Release Manager.
2014-07-17 19:08:24 +02:00
Clement Jamin 2ae815910e Switch to LGPL 2014-07-17 18:36:21 +02:00
Andreas Fabri b1f4afbd33 Macros MUST be prefixed with CGAL_
-pedantic does not like extra semicolons

todo:  cleanup: The macro is there twice.
2014-07-09 15:41:08 +02:00
Sébastien Loriot 2aadba50d7 Merge branch 'BGL-redesign_final-GF'
Introduces a redesign of the CGAL extension of the BGL API

Successfully tested in CGAL-4.5-Ic-90
Approved by the Release Manager

Conflicts:
	Surface_mesh_segmentation/test/Surface_mesh_segmentation/test_compute_sdf_values_and_segment_exact_rational.cpp
2014-07-08 19:45:16 +02:00
Clement Jamin f742be081b Fix spaces 2014-07-08 15:40:29 +02:00
Clement Jamin f7396790ff Fix merge function
Fixes memory leaks, and maybe some other potential problems
2014-07-07 13:41:33 +02:00
Clement Jamin a9887cbe9f Remove a useless constructor that was causing an error 2014-07-04 11:56:02 +02:00
Sébastien Loriot fee85470c1 Merge branch 'Triangulation_3-determinism-gf' into to-be-tested/Triangulation_3-determinism-gf
Conflicts:
	.gitattributes
	Matrix_search/include/CGAL/rectangular_3_center_2.h
	Spatial_sorting/include/CGAL/spatial_sort.h
2014-07-03 16:34:46 +02:00
Clement Jamin 6aeaf509cf Add line break at the end of the file 2014-07-02 09:03:21 +02:00
Clement Jamin e3abf7fc40 Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin 2014-07-01 10:38:14 +02:00
Sébastien Loriot 675d26e884 add non-documented remove_const fcts to turn a const-iterator to an iterator 2014-06-24 16:35:10 +02:00
Clement Jamin 6ed794da5b Replace ">>" by "> >" 2014-06-19 19:09:31 +02:00
Clement Jamin c9c8335811 More code clean-up 2014-05-27 13:46:34 +02:00
Clement Jamin dfe800bc40 Clean-up debug code (global lock) 2014-05-27 12:16:29 +02:00
Clement Jamin de485dfc10 Use s_iterator_to and remove the constructor I had added temporarily 2014-05-23 17:17:16 +02:00
Sébastien Loriot c7df582fc2 Revert "add the time stamper mecanism into In_place_list"
This reverts commit 5e2ab7fddc.
2014-05-22 11:18:55 +02:00
Sébastien Loriot 2d14739716 additional fixes for Combinatorial map package 2014-05-21 18:47:33 +02:00
Sébastien Loriot 3fa09693a3 Merge branch 'Mesh_3-compare_index-GF-old' into Mesh_3-compare_index-GF
Conflicts:
	Mesh_3/include/CGAL/Mesh_3/Detect_features_in_polyhedra.h
	Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h
	Mesh_3/include/CGAL/Mesh_polyhedron_3.h
	Mesh_3/test/Mesh_3/test_meshing_polylines_only.cpp
	STL_Extension/include/CGAL/Compact_container.h
	STL_Extension/test/STL_Extension/test_Compact_container.cpp
2014-05-21 18:24:17 +02:00
Sébastien Loriot 5e2ab7fddc add the time stamper mecanism into In_place_list 2014-05-21 16:33:54 +02:00
Sébastien Loriot 1bffc44ed4 factorize the mecanism to define the time stamper in a container 2014-05-21 16:30:32 +02:00
Sébastien Loriot c6fa3f4a3a add missing namespace 2014-05-21 12:51:20 +02:00
Sébastien Loriot 82f9a83e2d move the Time stamper into a separate file 2014-05-21 12:20:50 +02:00
Sébastien Loriot cbd50574e4 clean up comments, include and copyright 2014-05-21 12:08:12 +02:00
Andreas Fabri 2f967ba6e4 the testsuite for the new version of the Constrained_triangulation_plus_2 passes 2014-05-19 15:57:24 +02:00
Andreas Fabri 85b29aed5f treat merge conflicts 2014-05-15 16:09:24 +02:00
Clement Jamin f3c00442fd Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin 2014-05-14 19:05:40 +02:00
Marc Glisse 897f585f12 Merge branch 'Kernel_d-rewrite-glisse-old' into Kernel_d-rewrite-glisse
Need the Interval_nt/long interoperability for Eigen.
2014-05-07 18:41:17 +02:00
Marc Glisse 24d396afb2 Micro-optimization: do the opaque call first so it does not hinder optimizers.
(don't expect to measure the difference)
2014-05-05 19:13:31 +02:00
Laurent Rineau bcdfdf5335 Cleanup trailing spaces 2014-04-16 15:42:46 +02:00
Clement Jamin 239b6d0932 Merge branch 'STL_extension-Compact_container_as_vector-cjamin-old' into STL_extension-Compact_container_as_vector-cjamin 2014-04-16 14:14:24 +01:00
Laurent Rineau a2ef3c10f0 Change the name of timestamp policies 2014-04-16 12:36:40 +02:00
Laurent Rineau 1396d65b48 Test the time stamper policy in the testsuite 2014-04-16 12:34:30 +02:00
Laurent Rineau 28e60a5460 Cosmetic changes 2014-04-16 12:33:57 +02:00
Laurent Rineau 36e61bf091 Fix the implementation of CC_ts_impl_aux
CC_ts_impl_aux is the new name of CC_ts_impl_impl
2014-04-16 12:24:14 +02:00
Laurent Rineau cf3eee72ae Add comments 2014-04-16 12:22:49 +02:00
Laurent Rineau 75c61a687d New implementation of Has_timestamp 2014-04-15 18:07:23 +02:00
Jane Tournois 993541644c move Has_timestamp to STL_extension/include/CGAL directory
to avoid that Compact_container depends on Mesh_3
2014-03-27 13:57:47 +01:00
Laurent Rineau 458dcbf96d Add a comment that says why a warning must be disabled 2014-03-26 17:36:19 +01:00
Andreas Fabri fa9d5b7f93 Suppress a warning issued by VC12 2014-03-26 09:16:02 +01:00
Laurent Rineau b54be0ee3c Update the copyright header 2014-03-25 16:42:23 +01:00
Marc Glisse 3168c851a1 Merge branch 'Kernel_d-rewrite-glisse-old' into Kernel_d-rewrite-glisse
Conflicts:
	Kernel_d/doc_tex/Kernel_d/kernel_representation_d.tex
	Kernel_d/doc_tex/Kernel_d_ref/Homogeneous_d.tex
	Kernel_d/doc_tex/Kernel_d_ref/Kernel.tex
	Kernel_d/doc_tex/Kernel_d_ref/main.tex

Resolved by dropping those files.
2014-03-12 12:38:08 +01:00
Clement Jamin 157cd0465f Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin
Conflicts:
	Mesh_3/demo/Mesh_3/Mesh_3_optimization_plugin_cgal_code.cpp
	Mesh_3/doc/Mesh_3/Concepts/MeshCellBase_3.h
	Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h
	Mesh_3/include/CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h
	Mesh_3/include/CGAL/Mesh_3/Mesh_global_optimizer.h
	Mesh_3/include/CGAL/Mesh_3/Sliver_perturber.h
	Mesh_3/include/CGAL/Mesh_3/Slivers_exuder.h
	Mesh_3/include/CGAL/Mesh_3/Triangulation_helpers.h
	Mesh_3/include/CGAL/Mesh_3/config.h
	Mesh_3/include/CGAL/Mesh_3/vertex_perturbation.h
	Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h
	Mesh_3/include/CGAL/exude_mesh_3.h
	Mesh_3/test/Mesh_3/test_meshing_utilities.h
	Triangulation_3/include/CGAL/Triangulation_cell_base_with_circumcenter_3.h
2014-03-10 17:01:03 +01:00
Jane Tournois 6af720cde8 remove useless typename(s) 2014-02-21 17:14:13 +01:00
Jane Tournois 9d19ac0f96 add a "less" function to CGAL_time_stamper
and handle null pointers given to comparison
it is necessary for example in Triangulation_3::remove_3D
2014-02-21 14:41:41 +01:00
Jane Tournois 22153ac273 make private the time_stamp_ variable
and add time_stamp() and set_time_stamp() methods everywhere
2014-02-20 16:18:49 +01:00
Jane Tournois 0740b3652f add class Has_timestamp not to modify the API of Compact_container
- use the Has_timestamp operator in Compact_container
- add partial specialization to classes that need the time stamp (i.e.
Mesh_vertex_base, Compact_mesh_cell_base_3 and Mesh_cell_base_3)
- remove "ts" from classes where they were actually needed for compilation
purpose only (i.e. Kd_tree_node and Triangulation_ds_cell_base_3)
- rename "ts" to time_stamp_
2014-02-20 15:53:36 +01:00
Jane Tournois b3eccc5905 determinism : add a template parameter to Compact_container
we add a template parameter to Compact_container that is able to
set and get the "time stamps" stored in Vertex_handle, Cell_handle etc.
We previously made sure that these pointers are always compared using
the operator< of CC_iterator, inside Compact_container.h
2014-02-18 17:25:50 +01:00
Jane Tournois 6db28ed43d move ts from Tds to Compact_container
Tds now is back to its original version (not different from master)
2014-02-14 17:15:33 +01:00
Andreas Fabri 83546c53b1 Add a time stamp in vertices and cells of triangulations and polyhedra
and use this for operator< of handles in order to make mesh generation
 deterministic
2014-02-13 19:46:34 +01:00
Laurent Rineau da3d641efe Add comments to #ifndef/endif 2014-01-31 16:50:20 +01:00
Laurent Rineau 3ed92e1c1a Merge branch 'STL_Extension-Boolean_tag_Boost_Integral_Constant-lrineau'
Small feature:
  cgal.org/wiki/Features/Small_Features/Boolean_tag_is_a_Boost_Integral_Constant

Now CGAL::Boolean_tag<true> and CGAL::Boolean_tag<true> are model of the
Boost concept "Integral Constant".

Tested in CGAL-4.4-Ic-84.
2014-01-09 17:54:28 +01:00
Clement Jamin c81531bc80 Oops, I removed a line by mistake 2013-12-20 15:11:36 +01:00
Clement Jamin 28c5fde142 Add an increment policy to the Compact_container, and an operator[] 2013-12-20 15:03:37 +01:00
Sébastien Loriot 59f476b5b4 Merge branch 'STL_Extension-fix_make_sorted_pair-local'
Bug-fix when using make_sorted_pair on different types

  Successfully tested in CGAL-4.4-Ic-62
  Approved by the release manager
2013-12-20 08:44:23 +01:00
Sébastien Loriot 3adb58e046 better support of heterogeneous but compatible types 2013-12-17 20:37:19 +01:00
Clement Jamin 5d1eacf16f rename get_erase_counter => erase_counter
And add it to the concept ObjectWithEraseCounter
2013-12-12 07:23:07 +01:00
Laurent Rineau dc6c20cfdb merge branch origin/Fix_leak-STL_Extension-GF
Remove memory leaks detected by AddressSanitizer.
Tested in CGAL-4.4-Ic-54 and CGAL-4.4-Ic-55.
Approved by the release manager.
2013-12-11 13:42:31 +01:00
Marc Glisse 8ddf8255d5 Merge branch 'Kernel_d-rewrite-glisse-old' into Kernel_d-rewrite-glisse
Hopefully the doc will be easier to build this way.
2013-11-23 12:34:18 +01:00
Clement Jamin ec8e949d21 Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin 2013-11-21 10:50:55 +01:00
Marc Glisse b319b31825 Assume refcount>0 when copying.
Hopefully it will help compilers understand that destructing a copy
can't bring the counter to 0.
2013-11-16 12:14:44 +01:00
Andreas Fabri d8da1137cc Fix a memory leak in Handle_with_policy:
A rep that points to another rep is like a handle
So if such a rep gets deleted the reference counter must be decremented
2013-11-15 16:20:01 +01:00
Andreas Fabri 61298d3925 Fix memory leak in Compact_container::merge()
We forgot to merge all_items
2013-11-08 13:55:40 +01:00
Sébastien Loriot fd0e7756d5 add missing include
trivial bugfix
2013-10-29 13:05:44 +01:00
Sébastien Loriot 5f9ab81512 add the function make_sorted_pair 2013-10-18 10:44:54 -07:00
Sébastien Loriot 6a30252a82 remove not needed include directive 2013-10-18 09:22:14 -07:00
Clement Jamin 6b65ad71da Changes in the "lock data structure" concept and models
The concept is now much more generic (SurjectiveLockDataStructure).
The names have been changed accordingly.
2013-10-16 12:17:56 +02:00
Clement Jamin 29525dfcb7 Back-quotes for could_lock_zone and true + minor fixes + replace 0 by NULL 2013-10-15 10:27:35 +02:00
Clement Jamin a199ec9332 Rename params 2013-10-14 18:07:50 +02:00
Clement Jamin e03b9aa762 get_cc_iterator => cc_iterator 2013-10-14 17:50:37 +02:00
Clement Jamin 5ff923bcfb Bug fix: use the right namespace (CCC_internal) 2013-10-02 10:48:59 +02:00
Clement Jamin 2706cbfeff Compact_container: erase counter strategy is now automatically deduced from T.
If the T::increment_erase_counter() function exists, then the erase counter
value will be updated by the Compact_container.
2013-09-30 18:25:41 +02:00
Clement Jamin 41929ed520 Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin
Conflicts:
	Mesh_3/doc/Mesh_3/Concepts/MeshCellBase_3.h
	Mesh_3/dont_submit
	Triangulation_3/doc/TDS_3/CGAL/Triangulation_data_structure_3.h
	Triangulation_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h
	Triangulation_3/doc/Triangulation_3/CGAL/Delaunay_triangulation_3.h
	Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_3.h
	Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_3.h
	Triangulation_3/doc/Triangulation_3/PackageDescription.txt
2013-09-25 11:47:43 +02:00
Andreas Fabri 6c547e5663 Mainly added includes 2013-09-13 22:24:30 +02:00
Andreas Fabri 4a9be1f608 put the 'deprecated' macro at the right spot and add a testsiuite 2013-09-10 11:37:08 +02:00
Laurent Rineau 224a54303a Make Tag_true and Tag_false be models of the Boost Integral Constant model
http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html
2013-08-27 17:07:24 +02:00
Marc Glisse 7c574d3dd8 Rename Filtered_predicate since it isn't compatible with the old version. 2013-07-22 14:23:08 +02:00
Marc Glisse dafdb45786 Move is_iterator changes back to the original file. 2013-07-19 21:55:34 +02:00
Clement Jamin 838439b038 Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin
Conflicts:
	Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d.h
	Installation/cmake/modules/FindTBB.cmake
	Installation/cmake/modules/UseTBB.cmake
	Mesh_3/doc/Mesh_3/CGAL/Mesh_triangulation_3.h
	Mesh_3/doc/Mesh_3/Mesh_3.txt
	Mesh_3/include/CGAL/Mesh_triangulation_3.h
	Surface_mesher/doc/Surface_mesher/Surface_mesher.txt
2013-07-11 09:58:51 +02:00
Clement Jamin 8b0edee1f4 Merge branch 'concurrency_in_cgal-cjamin-old' into concurrency_in_cgal-cjamin 2013-07-03 17:17:34 +02:00
Clement Jamin 206b20bc15 Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin 2013-07-02 17:37:50 +02:00
Clement Jamin 119675c970 Keep a copy of the bbox 2013-07-02 12:53:34 +02:00
Clement Jamin 44355c9f11 Rename get_cc_handle => get_cc_iterator 2013-06-27 17:00:00 +02:00
Clement Jamin c8afb5e76a Use of an std::vector instead of a dynamic array 2013-06-27 14:01:52 +02:00
Sébastien Loriot c09ec2beaa Merge branch 'Kernel-replace_object-pmoeller'
Successfully tested in CGAL-4.3-Ic-59
Approved by the release manager

Conflicts:
	Kernel_23/doc/Kernel_23/CGAL/intersections.h
	Kernel_23/doc_tex/Kernel_23_ref/intersection.tex
	Kernel_d/doc/Kernel_d/Kernel_d.txt
	STL_Extension/doc/STL_Extension/CGAL/iterator.h
2013-06-14 14:26:05 +02:00
Sébastien Loriot b30d3daa2b do not use exception in Object::assign. g++3.4 produces a segfault with -O2 2013-06-12 17:39:31 +02:00
Clement Jamin bc360c8b13 Changes for GCC compilation + removed some trailing spaces 2013-06-07 17:40:53 +02:00
Clement Jamin 0e51e92656 Introduces a new CC_safe_handle class
Helper class which embed a `Compact_container` (or `Concurrent_compact_container`) iterator and is able to know if the pointee has been erased since the creation of the `CC_safe_handle` instance.
2013-06-06 16:49:23 +02:00
Sébastien Loriot 0c9656f553 add missing overload of operator= if EDG is defined 2013-06-04 16:53:05 +02:00
Sébastien Loriot 2997e8ae08 Dispatch_(or_drop_)output_iterator<V,O> now accepts a tuple V put in it ...
...and makes the correct dispatch to the output iterators in O
2013-05-31 17:20:47 +02:00
Clement Jamin bbb5fec836 The Parallel_tag inherits Sequential_tag 2013-05-31 10:44:41 +02:00
Clement Jamin 81f9c675c5 P3::x/y/z() functions can now be any model of the concept of RealEmbeddable 2013-05-30 13:38:58 +02:00
Clement Jamin f5fae5ab23 Smaller tag names + removed "Tag_non_blocking_with_mutexes" from documentation 2013-05-28 15:38:20 +02:00
Clement Jamin 127926aa14 Proof-reading + minor changes
Renamed unlock_all_tls_locked_locations => unlock_all_points_locked_by_this_thread
2013-05-28 15:07:20 +02:00
Clement Jamin 4a3a43d0e6 Minor fix + output 2013-05-23 17:48:32 +02:00
Clement Jamin 3a4caaaa1c Changed the place of the erase counters.
Changed Compact_container_strategy_XXX::Uses_erase_counter type + moved the erase counters from Triangulation_ds_xxx_base_3 to Mesh_xxx_base_3.
2013-04-16 15:31:36 +02:00
Clement Jamin 2c2e1e3d7d Code factorization + "manual" min/max for slightly better performance 2013-03-29 17:14:50 +01:00
Clement Jamin 1d3205942a It's a bit faster not to use min/max to compute grid cell coords 2013-03-27 17:49:24 +01:00
Andreas Fabri 8a45fcea5a Merge branch 'OLD' into Triangulation_2-NewPolylineConstraint-GF
Conflicts:
	Triangulation_2/doc/Triangulation_2/Triangulation_2.txt
2013-03-21 13:41:53 +01:00
Sébastien Loriot d6905c61be Merge branch 'Kernel-replace_object-pmoeller-old' into Kernel-replace_object-pmoeller
Conflicts:
	AABB_tree/include/CGAL/AABB_tree.h
	Circular_kernel_2/include/CGAL/Circular_kernel_2/internal_functions_on_line_arc_2.h
	Intersections_3/include/CGAL/Intersections_3/intersection_3_1_impl.h
	Kernel_23/doc/Kernel_23/CGAL/intersections.h
	Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h
	STL_Extension/doc/STL_Extension/CGAL/iterator.h
2013-03-14 10:29:31 +01:00
Clement Jamin b12a5e3c59 Implemented the "merge" function in the Concurrent_compact_container 2013-03-12 17:00:54 +01:00
Clement Jamin 6616582b14 Replaced tabs with spaces 2013-03-12 15:40:25 +01:00
Clement Jamin 8e800fdece Replaced tabs with spaces 2013-03-12 15:39:25 +01:00
Clement Jamin cad7496099 Removed "merge" and "reserve" since they are not implemented 2013-03-11 18:43:10 +01:00
Clement Jamin 1f0e994a00 Renamed a few functions + tabs to spaces conversion + benchmark output + minor changes 2013-03-11 15:46:27 +01:00
Clement Jamin a7cfd06598 Replaced the unused pair<bool,int> returned by try_lock by a simple bool. 2013-03-08 16:47:37 +01:00
Clement Jamin 2796e63b86 Minor fix: "Base" doesn't need to be public. 2013-03-08 16:38:16 +01:00
Clement Jamin 3eae2927e7 Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin 2013-03-04 15:50:57 +01:00
Clement Jamin 2263fdf765 Clean-up 2013-02-28 15:05:35 +01:00
Clement Jamin ab25d848b1 Moved the "no_spin" function parameter to a template parameter. 2013-02-22 15:47:32 +01:00
Clement Jamin 64a624c168 Removed some useless "virtual" + bugfix for the non-blocking specialization classes. 2013-02-22 13:42:18 +01:00
Laurent Rineau 2d8da664a3 Merge branch 'CGAL-fix_warnings-gdamiand'
Conflicts:
	.gitignore
	Skin_surface_3/examples/Skin_surface_3/CMakeLists.txt
2013-02-22 13:02:37 +01:00
Laurent Rineau 3f894697bc New macros CGAL_assume(EX) and CGAL_assume_code(CODE)
CGAL_assume(EX) is like CGAL_assertion, but is not disabled in release
mode. In debug mode, it is similar to CGAL_assertion(). In release mode, it
uses builtins of the compilateur, like the MSVC __assume or the g++/clang
__builtin_unreachable to give an hint to the compiler that some situation
in the code cannot happen.
2013-02-20 18:34:15 +01:00
Clement Jamin dac0e1c104 Moved Spatial_grid_lock_data_structure_3.h to STL_Extension 2013-02-18 16:44:00 +01:00
Clement Jamin bce43fbb8e Improved the way parallelism is handle in Mesh_3/Triangulation_3
Added a better support for parallelism in Triangulation_3.
Simplified how to enable/disable concurrency in Mesh_3.
Moved the Compact_container stategies to a new file.
2013-02-15 18:07:43 +01:00
Laurent Rineau d19578725b Fix warnings 2013-02-07 18:15:23 +01:00
Laurent Rineau 29c05b900b Mark BOOST_STATIC_ASSERT with 'CGAL_UNUSED'
In order to fix such a warning from g++-4.8:
  warning: typedef ‘boost_static_assert_typedef_241’ locally defined but
  not used [-Wunused-local-typedefs]
then:
  - create one macro CGAL_UNUSED that is "__attribute__ ((__unused__))"
    with g++ or empty otherwise,
  - use it after BOOST_STATIC_ASSERT in the definition of
    CGAL_static_assertion.
2013-02-07 18:15:23 +01:00
Clement Jamin cd83c4680a Tags for concurrency 2013-02-06 18:15:25 +01:00
Sébastien Loriot 93df4bd3d5 typo while replacing boost::result_of to cpp11::result_of 2013-02-04 19:53:56 +01:00
Sébastien Loriot f0f34d45fa workaround to force the usage of the tr1 implementation of result_of from boost
see http://www.boost.org/doc/libs/1_52_0/libs/utility/utility.htm#result_of
2013-02-04 11:30:28 +01:00
Andreas Fabri f9cd5ec08a Merge remote-tracking branch 'origin/Triangulation_2-NewPolylineConstraint-GF' into Triangulation_2-NewPolylineConstraint-GF
Conflicts:
	.gitattributes
2013-01-21 14:33:33 +01:00
Philipp Möller 0f34f2a89e Merge branch 'Maintenance-include-less-boost-pmoeller' 2012-12-21 09:44:18 +01:00
Sébastien Loriot 82b2ebc865 apply the cpp0x namespace renaming in all files 2012-12-19 11:33:17 +01:00
Philipp Möller 71ea8e6e22 Minimal boost includes
Replace type_traits.hpp and utility.hpp with the respective
fine-grained includes.
2012-12-14 18:13:59 +01:00
Philipp Möller a9cdb27b78 Remove tautological precondition 2012-12-12 11:28:57 +01:00
Philipp Möller 728cfaa456 Remove CGAL::Overload
Equivalent and better functionality is provided by
http://www.boost.org/libs//functional/overloaded_function/doc/html/index.html
2012-12-07 18:00:46 +01:00
Philipp Möller d198458ca7 Merge branch 'origin-gsoc2011-boost_object-pmoeller' into Kernel-replace_object-pmoeller
Conflicts:
	.gitattributes
	AABB_tree/doc_tex/AABB_tree_ref/AABBGeomTraits.tex
	AABB_tree/doc_tex/AABB_tree_ref/AABBTraits.tex
	AABB_tree/doc_tex/AABB_tree_ref/AABB_traits.tex
	AABB_tree/include/CGAL/AABB_traits.h
	AABB_tree/include/CGAL/AABB_tree.h
	AABB_tree/test/AABB_tree/AABB_test_util.h
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_queries.tex
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_trapezoid_ric_point_location.tex
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/intro.tex
	Arrangement_on_surface_2/include/CGAL/Arr_batched_point_location.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_lm_generator_base.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_lm_random_generator.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_trapezoid_ric_pl_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_walk_along_line_pl_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_trapezoid_ric_point_location.h
	Arrangement_on_surface_2/test/Arrangement_on_surface_2/point_location.cpp
	Circular_kernel_2/include/CGAL/Circular_kernel_2/internal_functions_on_line_arc_2.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_circular_arc_3.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_line_arc_3.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_sphere_3.h
	Filtered_kernel/include/CGAL/Lazy.h
	Filtered_kernel/include/CGAL/Lazy_kernel.h
	Intersections_2/include/CGAL/Triangle_2_Iso_rectangle_2_intersection.h
	Intersections_2/test/Intersections_2/test_intersections_2.cpp
	Intersections_3/test/Intersections_3/test_intersections_3.cpp
	Kernel_23/doc_tex/Kernel_23_ref/intersection.tex
	Kernel_23/include/CGAL/Kernel/Type_mapper.h
	Kernel_d/doc_tex/Kernel_d_ref/Kernel.tex
2012-12-04 17:57:53 +01:00
Sébastien Loriot 14c8641377 Convert all CRLF files to LF 2012-12-04 16:44:49 +01:00
Philipp Möller 465c5b265a Shuffle two undocumented headers backwards.
Also change the 2 places they were used in.
2012-11-17 02:16:32 +01:00
Philipp Möller 09e65b9c40 Drop the include guard and remove assert_equal_types
The include guard is unnecessary (tags.h is part of basic and no one
else defines it anymore) and it shouldn't be used anyway.

assert_equal_types doesn't do it's job completely and it's usage in
Nef_2 has been replaced.
2012-11-17 01:56:05 +01:00
Clément Jamin 4e1f8aa4f8 Merge from next 2012-10-15 08:28:01 +00:00
Laurent Rineau 7bc300794d Fix last errors in headers of CGAL foundations
All were missing #include.
2012-10-08 09:03:50 +00:00
Philipp Möller 91f88474a8 The conditional code does not only require variadic templates but also
a variadic implementation of tuple. One would think that you never run
in a situation where you only have variadics but no tuple. But thanks
to clang pretending to be a gcc 4.2.1, some configuration code might
think otherwise.
2012-10-05 18:15:46 +00:00
Laurent Rineau 5c757a0a4d Fix/Improve all #include of all STL_Extension headers 2012-10-05 14:24:38 +00:00
Clément Jamin 2366fee1e1 Merge from next 2012-09-28 14:51:02 +00:00
Philipp Möller ab5c017c08 Unconditionally disable NO_TR1 defines.
Those cause trouble, because on MSVC the include paths for tr1
components are different from gcc. Instead of fixing up the include
paths depending on platform, just never use a tr1 component. Nothing
of value is lost compared to the boost equivalents and it removes
another code-path.
2012-09-28 13:15:14 +00:00
Laurent Rineau 90414d195f Move <CGAL/Testsuite/use.h> to <CGAL/use.h> (in the Installation package)
That is a followup to the following commit:
  | ------------------------------------------------------------------------
  | r71090 | pmoeller | 2012-08-07 13:04:32 +0200 (Tue, 07 Aug 2012) | 6 lines
  | Changed paths:
  |    M /branches/next/Alpha_shapes_2/include/CGAL/Alpha_shape_2.h
  |    M /branches/next/Circulator/include/CGAL/circulator.h
  |    M /branches/next/Convex_decomposition_3/include/CGAL/Convex_decomposition_3/Reflex_vertex_searcher.h
  |    M /branches/next/Intersections_3/test/Intersections_3/bbox_other_do_intersect_test.cpp
  |    M /branches/next/Kernel_d/include/CGAL/Cartesian_d.h
  |    M /branches/next/Mesh_3/include/CGAL/IO/File_medit.h
  |    M /branches/next/Mesh_3/include/CGAL/Mesh_cell_criteria_3.h
  |    M /branches/next/Mesh_3/include/CGAL/Mesh_edge_criteria_3.h
  |    M /branches/next/Mesh_3/include/CGAL/Mesh_facet_criteria_3.h
  |    M /branches/next/Mesh_3/include/CGAL/make_mesh_3.h
  |    M /branches/next/Nef_2/include/CGAL/Bounded_kernel.h
  |    M /branches/next/Nef_2/include/CGAL/Nef_polyhedron_2.h
  |    M /branches/next/Nef_3/include/CGAL/Nef_3/ID_support_handler.h
  |    M /branches/next/Nef_3/include/CGAL/Nef_3/Infimaximal_box.h
  |    M /branches/next/Nef_3/include/CGAL/Nef_3/vertex_cycle_to_nef_3.h
  |    M /branches/next/Nef_3/include/CGAL/Nef_polyhedron_3.h
  |    M /branches/next/Nef_3/test/Nef_3/nef_union_error_llvm.cpp
  |    M /branches/next/Nef_S2/include/CGAL/Nef_S2/SM_overlayer.h
  |    M /branches/next/OpenNL/include/CGAL/OpenNL/blas.h
  |    M /branches/next/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h
  |    M /branches/next/Point_set_processing_3/include/CGAL/mst_orient_normals.h
  |    M /branches/next/QP_solver/include/CGAL/QP_solver/QP_functions_impl.h
  |    M /branches/next/STL_Extension/include/CGAL/iterator.h
  |    M /branches/next/Segment_Delaunay_graph_2/include/CGAL/Segment_Delaunay_graph_simple_site_2.h
  |    M /branches/next/Subdivision_method_3/include/CGAL/Polyhedron_decorator_3.h
  |    M /branches/next/Subdivision_method_3/include/CGAL/Subdivision_mask_3.h
  |    M /branches/next/Surface_mesher/include/CGAL/Surface_mesh_default_criteria_3.h
  |    M /branches/next/Voronoi_diagram_2/include/CGAL/Voronoi_diagram_2/Adaptation_traits_functors.h
  |    M /branches/next/Voronoi_diagram_2/include/CGAL/Voronoi_diagram_2/Default_site_inserters.h
  |    M /branches/next/Voronoi_diagram_2/include/CGAL/Voronoi_diagram_2/Default_site_removers.h
  | 
  | WARNFIX: Silence a good part of unused variable/parameter warnings.
  | 
  | Wextra results in a dreadful wall of yellow in the test-suite and is
  | scary when using CGAL. Reduce some of the noise by silencing the
  | obvious cases with CGAL_USE or comments.
  | 
  | ------------------------------------------------------------------------

The reason is that everything from CGAL/Testsuite/ is removed in public
releases (that was discussed at a CGAL developers meetings, long ago). That
means that r71090 introduced compilation errors undetectable by the tests
of internal releases. I hope that the minutes of that developers meeting
say that I was against the removal of headers between internal and public
releases!  -- Laurent Rineau
2012-08-09 15:34:08 +00:00
Philipp Möller 79b30908d5 WARNFIX: Silence a good part of unused variable/parameter warnings.
Wextra results in a dreadful wall of yellow in the test-suite and is
scary when using CGAL. Reduce some of the noise by silencing the
obvious cases with CGAL_USE or comments.
2012-08-07 11:04:32 +00:00
Clément Jamin 68fbaa4373 Bugfix + minor changes 2012-07-11 14:21:17 +00:00
Clément Jamin 41f9cbe411 Sequential Mesh_3 can now be compiled by GCC. 2012-07-09 15:44:58 +00:00
Laurent Rineau 69ef17087e Fix a warning of clang
The warning was:


In file included from [...]/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/test/Algebraic_foundations/Chinese_remainder_traits.cpp:34:
In file included from [...]/include/CGAL/Polynomial.h:44:
In file included from [...]/include/CGAL/Flattening_iterator.h:24:
In file included from [...]/include/CGAL/Nested_iterator.h:29:
[...]/include/CGAL/iterator.h:1240:10: warning: class template 'Derivator' was previously declared as a struct template [-Wmismatched-tags]
  friend class internal::Derivator;
         ^
[...]/include/CGAL/iterator.h:1193:8: note: previous use is here
struct Derivator
       ^
[...]/include/CGAL/iterator.h:1240:10: note: did you mean struct here?
  friend class internal::Derivator;
         ^~~~~
         struct
[...]/include/CGAL/iterator.h:1299:10: warning: class template 'Derivator' was previously declared as a struct template [-Wmismatched-tags]
  friend class internal::Derivator;
         ^
[...]/include/CGAL/iterator.h:1193:8: note: previous use is here
struct Derivator
       ^
[...]/include/CGAL/iterator.h:1299:10: note: did you mean struct here?
  friend class internal::Derivator;
         ^~~~~
         struct
2 warnings generated.
2012-06-20 10:18:05 +00:00
Clément Jamin b268598665 Replace LINKED_WITH_TBB by CGAL_LINKED_WITH_TBB. 2012-06-13 09:33:08 +00:00
Clément Jamin b948543cc6 Use of a Tag (template parameter) to activate/deactivate concurrency in Mesh_3, instead of #ifdef macros. 2012-06-09 08:52:37 +00:00
Philipp Möller dd7403c765 Change the namespace to cpp11 and add an alias cpp0x. 2012-05-24 11:23:21 +00:00
Philipp Möller 5953dd364d Add front/back, splicing and swap to Skiplist. 2012-05-15 08:17:19 +00:00
Philipp Möller 75378f55ce Merged ^/branches/next for the test-suite run. 2012-05-10 17:34:30 +00:00
Philipp Möller cfea03d54b Dropped out-dated examples, simplify.cpp example compiles. 2012-05-10 13:35:00 +00:00
Philipp Möller ba92d7b9df Added erase member function. 2012-05-10 09:50:01 +00:00
Philipp Möller 38228d6982 Added conversions to Skiplist, integrated it somewhat into
constraint_hierarchy, merged some code there and added a Default to
the triangulation.
2012-05-09 13:39:36 +00:00
Philipp Möller 58d0e82be4 Drop the storage container from Skiplist and use the all container
instead for storage.
2012-05-09 10:25:14 +00:00
Philipp Möller c6e35c0990 Switched Skiplist to use boost::intrusive internally to get non-const
iterators.
2012-05-04 16:49:51 +00:00
Philipp Möller 117e3a9211 Add Skiplist and tests in STL_Extension. 2012-05-04 13:35:30 +00:00
Clément Jamin 7d1d94f42e Merge from next 2012-04-24 16:24:13 +00:00
Philipp Möller 17797b7271 Merge next into this branch. There have been conflicts in the
AABB_tree documentation, Intersections_3 and Arrangement_on_surface_2.

The merge also introduced a regression for a bug fixed in R68387 which
fixed a bug in Triangle_3 Segment_3 intersections. The relevant
testcase is in triangle_other_intersection_test.cpp.
2012-04-24 15:06:19 +00:00
Laurent Rineau 4c186e9417 Oops: std::tr1::get(std::pair) is in <tr1/utility> 2012-04-20 10:34:06 +00:00
Laurent Rineau 66ec3ee6b8 I was wrong: get<N>(std::pair) was already in TR1.
Strange that it is not in Boost.
2012-04-20 10:30:10 +00:00
Laurent Rineau a40c0bf6a8 A branch to extend the CGAL::cpp0x::get function template in <CGAL/tuple.h> 2012-04-19 12:28:12 +00:00
Philipp Möller 542f5d9c51 Merged ^/branches/next here 2012-04-16 08:53:21 +00:00
Laurent Rineau eef911bc02 New MPL type checking: is_streamable
is_streamable is a meta-function that checks if a type is streamable

is_streamable<T>::value is true iff the type T has stream operators <<
and >>. Otherwise it is false.


That commit adds a new header, used nowhere, and a new test. That cannot
break anything. I do it directly to 'next', with my own approval.
2012-04-13 10:40:12 +00:00
Laurent Rineau f22ae81a91 Trivial bug: add missing #include
If CGAL::cpp0x::tuple is Boosts implementation, one wants equality operator
operator==.

Add the corresponding test in test/STL_Extension/.
2012-04-12 14:35:20 +00:00
Clément Jamin 69272e4d9a Test with a worksharing strategy (based on TBB task scheduler) + test with parallel_do. 2012-04-10 13:23:51 +00:00
Laurent Rineau 1f45a55986 Merge changes from next; 2012-04-05 10:23:08 +00:00
Philipp Möller 042482d986 Removed unused Identity_iterator
Identity_iterator was neither documented nor used anywhere throughout
the code base and served no real purpose and can easier be implemented
(if really needed) with iterator_adaptor or the iterator helpers in
boost operators.
2012-03-23 17:25:52 +00:00
Clément Jamin 512f0b12bd Missing "mutable" on the mutex 2012-03-22 17:50:17 +00:00
Clément Jamin 4ccf8e0447 First working parallel version. It's not faster than the sequential one, but not slower neither (depends if you're optimistic or not). The good news is that we found all (?) the sections to protect or to make thread-local. 2012-03-22 17:07:03 +00:00
Clément Jamin d56d031aa7 Added a constructor to enable conversion from Filter_iterator to const Filter_iterator.
Added an end() member function.
2012-03-15 15:07:16 +00:00
Clément Jamin 9aefad0454 Added a few comments 2012-03-15 14:59:43 +00:00
Clément Jamin 09de63eb4a Brand new Concurrent_compact_container, not based on tbb::concurrent_vector as it was causing compiler nightmare (C1060).
Anyway, it's faster and much more scalable... so no regrets.
2012-03-14 17:06:13 +00:00
Clément Jamin 401568c63c Added the option to use Boost filter_iterator, and a few member functions. 2012-03-09 17:34:19 +00:00
Clément Jamin 1192e188cc Creates a Concurrent_compact_container, based on tbb::concurrent_vector. Some member functions (size, etc.) are missing. To be continued... 2012-03-09 11:44:41 +00:00
Clément Jamin 5a5d838497 Added an operator< to Filter_iterator 2012-03-09 11:43:02 +00:00
Laurent Rineau cb38257cd2 Reimplementation of std::nth_element and std::random_shuffle
For the use of Spatial_sorting, we want an implementation of nth_element
and random_shuffle that produces the same result on all platforms, for a
given seeded random generator.
2012-03-09 11:37:14 +00:00
Philipp Möller 9fbb25d335 * forgot to prettify entirely 2012-03-07 14:07:14 +00:00
Philipp Möller 9881058185 * added the implementation of random_shuffle to STL_Extension 2012-03-07 14:00:44 +00:00
Clément Jamin 7137347f95 Added::process_a_batch_of_elements(...) which use parallel_for to insert batch of facets/cells. For now, the body is protected by a scoped_lock to avoid races => no speedup! 2012-03-07 13:57:16 +00:00
Clément Jamin 9ae59efaaf Merge from next 2012-02-15 15:58:17 +00:00
Clément Jamin 4051f03a62 Added a "Strategy" template parameter which allows to optionally add a counter of "erase" (= put on free list) inside each element. 2012-02-13 09:04:24 +00:00
Laurent Rineau 0b760d0fbb Remove warnings about static assertions 2012-01-23 12:29:17 +00:00
Sébastien Loriot 3795b8dc9c revert part of my commit 67333
(windows testsuite was actually broken so it was working:)
2012-01-20 15:01:53 +00:00
Sébastien Loriot a1fdcd6170 explicitly check that the Interval template parameter is an interval.
MSVC is not able to eliminate the function even when the functor used
is Null_functor that has no result_type.
2012-01-20 13:08:32 +00:00
Sébastien Loriot 45e7c06392 revert r67297.
Fix test it in candidates
2012-01-19 10:08:57 +00:00
Sébastien Loriot f17ccbb823 explicitly check that the Interval template parameter is an interval.
MSVC is not able to eliminate the function even when the functor used
is Null_functor that has no result_type.
2012-01-19 08:49:20 +00:00
Andreas Fabri cebb7314bc Fix for Windows 'min/max' bug 2012-01-18 11:05:35 +00:00
Laurent Rineau 5b5dd33848 merge changes from next 2012-01-09 12:33:39 +00:00
Philipp Möller b8a96e9114 Merged next to this branch. 2011-12-06 17:11:01 +00:00
Philipp Möller 0e0a200646 * Using result_of instead of Qualified_result_of
* limited refactoring in the lazy kernel
* still bugs in circular_3
* still specialization problem with iso_rectangle
2011-11-23 17:52:38 +00:00
Sébastien Loriot 5fd945cd3c is_iterator now requests the type to be either a pointer or
to provide all 5 nested types provided by iterator_traits
2011-11-23 11:29:15 +00:00
Philipp Möller c935a9dbc1 Fixed a crash when calling type() on an uninitialized Object 2011-11-15 15:05:20 +00:00
Philipp Möller 71c1a44f4f Safe bool conversion for object including tests 2011-11-08 11:01:59 +00:00
Philipp Möller 69add44ef4 Object switched to any internally 2011-11-07 16:22:56 +00:00
Philipp Möller 64450662ac Overload now uses tuples directly and has improved documentation 2011-11-04 17:54:15 +00:00
Marc Glisse dc3b382bd4 Simplify the code and help with thread-safety by reading the return value of operator--. 2011-10-29 07:18:10 +00:00
Laurent Rineau 1efe6ff9c4 merge from next, again 2011-10-13 10:25:40 +00:00
Laurent Rineau b41acfcc5e Revert those two commits:
| ------------------------------------------------------------------------
  | r65838 | afabri | 2011-10-12 13:01:14 +0200 (Wed, 12 Oct 2011) | 5 lines
  | Changed paths:
  |    M /branches/next/STL_Extension/include/CGAL/assertions.h
  | 
  | When CGAL_NO_ASSERTIONS, fix CGAL_static_assertion 
  | 
  | CGAL_static_assertion cannot be "static_cast<void>(0)" because that
  | macro can also be used in a class or namespace scope.
  | 
  | ------------------------------------------------------------------------
  | r65833 | lrineau | 2011-10-11 23:43:39 +0200 (Tue, 11 Oct 2011) | 6 lines
  | Changed paths:
  |    M /branches/next/STL_Extension/include/CGAL/assertions.h
  | 
  | Avoid a warning with -ansi -pedantic when CGAL_NO_ASSERTIONS
  | 
  | When CGAL_NO_ASSERTIONS is defined (when NDEBUG is defined, for example), 
  | "CGAL_static_assertion(true);" must not be expanded to ";", to avoid a
  | pedantic warning "extra ;".
  | 
  | ------------------------------------------------------------------------

That was just a very wrong way to fix a pedantic warning: the new
implementations were buggy.
2011-10-13 10:24:14 +00:00
Marc Glisse 4fff839d84 Revert, was supposed to go to candidates... 2011-10-12 15:00:55 +00:00
Marc Glisse 03ff622be8 Help with a future thread-safe version (and make the code shorter). 2011-10-12 14:41:53 +00:00
Laurent Rineau 5946c69608 merge from next 2011-10-12 13:52:06 +00:00
Andreas Fabri eba24795fa When CGAL_NO_ASSERTIONS, fix CGAL_static_assertion
CGAL_static_assertion cannot be "static_cast<void>(0)" because that
macro can also be used in a class or namespace scope.
2011-10-12 11:01:14 +00:00
Laurent Rineau 44be6552ef Avoid a warning with -ansi -pedantic when CGAL_NO_ASSERTIONS
When CGAL_NO_ASSERTIONS is defined (when NDEBUG is defined, for example), 
"CGAL_static_assertion(true);" must not be expanded to ";", to avoid a
pedantic warning "extra ;".
2011-10-11 21:43:39 +00:00
Sébastien Loriot 91a5327fa8 change LGPLv2 -> LGPLv3 2011-10-10 13:48:25 +00:00
Andreas Fabri cbfe32ce37 Add declspecs for Visual C++ so that we can build dlls 2011-10-05 19:12:23 +00:00
Sébastien Loriot 62a6daf1da add to Compact_container iterator type operators > >= and <= 2011-10-04 11:25:45 +00:00
Laurent Rineau fdd69b61a3 Rename macro of Compact_container to avoid potential future conflict
Add the _COMPACT_CONTAINER_ infix:
  CGAL_INIT_BLOCK_SIZE -> CGAL_INIT_COMPACT_CONTAINER_BLOCK_SIZE
  CGAL_INCREMENT_BLOCK_SIZE -> CGAL_INCREMENT_COMPACT_CONTAINER_BLOCK_SIZE
2011-09-29 14:21:10 +00:00
Guillaume Damiand 71d1d6f56a Add reserve method in compact container (include file, plus ref manual, plus test). 2011-09-27 12:01:42 +00:00
Sébastien Loriot dff6dda8b3 Remove from copyright holder
Freie Universitaet Berlin (Germany), Martin-Luther-University Halle-Wittenberg
(Germany) and RISC Linz (Austria) as they transfer the copyright to other
sites.
2011-09-21 19:46:31 +00:00
Sébastien Loriot 7ec484eac7 merge next into feature branch 2011-09-09 06:44:09 +00:00
Guillaume Damiand a29c905ee0 Replace BOOST_STATIC_ASSERT by CGAL_static_assertion. 2011-08-31 14:30:07 +00:00
Philipp Möller f9b288db90 Merged branch ^/branches/features/gsoc2011-copy_n-pmoeller.
Small feature page: https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Replace_copy_n
2011-08-26 14:34:10 +00:00
Laurent Rineau 1e3c229440 merge from next 2011-08-26 13:55:12 +00:00
Philipp Möller cc01731a34 Fixed a namespace bug with C++0x disabled 2011-08-25 10:11:06 +00:00
Marc Glisse ab56912a06 s/static_assert/CGAL_static_assertion_msg/ 2011-08-08 16:48:34 +00:00
Philipp Möller 353241ec7d Interoperability for Dispatch_output_iterator with variants, documentation and tests 2011-07-22 01:22:32 +00:00
Philipp Möller 83fc8e4bf3 Added implicit conversion from variant to object 2011-07-20 19:26:15 +00:00
Philipp Möller ab7b592514 Made optional< variant > to Object conversion safer 2011-07-15 13:57:25 +00:00
Philipp Möller 6580eb504d merged next 2011-07-05 09:15:29 +00:00
Andreas Fabri 01f978de36 partial undo: remove debug output 2011-06-30 22:11:47 +00:00
Andreas Fabri 7dbddbc945 Add CR in the last line to quiet Intel C++ 2011-06-30 22:09:49 +00:00
Philipp Möller a67a03d297 Fixed naming and include guard 2011-06-23 14:02:53 +00:00
Philipp Möller d98d1d057f Object: Made implicit conversion from optional<variant> safer
Overload: Added generalised overloads and tests
2011-06-23 13:09:49 +00:00
Philipp Möller b4c1504975 Added conversion from optional<variant<...>> 2011-06-22 15:27:48 +00:00
Philipp Möller ba7f258db8 Added implicit conversion from variant to object
Added test
2011-06-22 15:19:20 +00:00
Laurent Rineau 4cf99c4a3d Fix mutable_queue.hpp with old Boost versions
boost/property_map.hpp has moved in recent Boost versions.
2011-06-21 10:22:47 +00:00
Sébastien Loriot f488e75869 BUGFIX: change internal boost namespace to boost_ to avoid ambiguities
of boost:: in internal namespace (vs ::boost::)
2011-06-17 13:22:42 +00:00
Sébastien Loriot b80fd74b73 BUGFIX: this is safer to compare to the size of indices 2011-06-17 13:07:06 +00:00
Sébastien Loriot acb0950398 BUGFIX (together with 64192,64193,64194):
Modifiable_priority_queue no longer depends on non-documented
boost code. This code has been copied into CGAL.

Modify boost's mutable_queue to have a constructor initializing
indices of elements not in the queue to the maximum number of elements.
Update pop to maintain this property
2011-06-17 13:04:58 +00:00
Sébastien Loriot 2254e9b4f8 reverse modifications of Modifiable_priority_queue.h should not be modified in 64193 2011-06-17 12:48:11 +00:00
Sébastien Loriot cacb699937 put boost file inside namespace CGAL::internal::boost
add URL and ID tags
update #ifndef macros
2011-06-17 12:45:16 +00:00
Sébastien Loriot 6838175967 plain copy of files from the release 1.46.1 (BOOST_VERSION 104601)
from undocumented stuff for internal use in CGAL (Mofiable_priority_queue.h).
Modifications of these files to come in another commit
2011-06-17 12:38:15 +00:00
Sébastien Loriot 65d6249062 missing include 2011-06-17 08:46:36 +00:00
Guillaume Damiand d2d010909f merge with next 2011-06-09 13:51:23 +00:00
Philipp Möller fb85f14247 Added the imports to namespace cpp0x. 2011-06-07 12:04:59 +00:00
Philipp Möller 3144673c5b Deprecated successor and predecessor 2011-06-07 10:44:21 +00:00
Marc Glisse dd2aba7fe6 The goal was to be able to use iterator_traits safely, so we don't want arrays... 2011-05-30 15:27:09 +00:00
Sébastien Loriot 1ad7bac55b change license from QPL to LGPL 2011-05-24 13:03:39 +00:00
Marc Glisse d64e8a9371 Fix misinterpretation of decay 2011-05-13 18:37:13 +00:00
Guillaume Damiand c283ac6689 Backport of modifs made in Linear_cell_complex-gdamiand branch. 2011-05-10 07:14:42 +00:00
Guillaume Damiand 046cc5a048 merge from next and from candidates/Combinatorial_map 2011-05-05 12:29:06 +00:00
Sébastien Loriot 0a1b070ed1 temporary fix for visual 2011-04-29 14:32:31 +00:00
Sébastien Loriot 5921eca974 A null functor should not defined a result_type
nor a second_argument_type (this allows using SFINAE
on some functions).
2011-04-13 08:26:09 +00:00
Sébastien Loriot b30c983e3c bugfix: the derivation must be public 2011-03-17 10:16:30 +00:00
Marc Glisse 879c4eb81c Enable implicit Lazy_exact_nt conversions only if there exists an implicit
conversion between the exact types.

I'll add something similar for explicit conversions if required.
2011-03-08 10:27:31 +00:00
Sébastien Loriot d19e13d863 move Modifiable_priority_queue in STL_Extension as it is used by Mesh_3 2011-02-15 16:24:09 +00:00
Guillaume Damiand 261ad9eaf3 Add the 4 operators < <= > >= to compare iterators.
Now we can compare two handles (as for example Halfedge_haldle) which is usefull for example to define directly a std::set<Halfedge_handle> (or a std::map) without need to define a comparator class.

NOTE: this modification was preapproved by the released manager.
2011-02-15 12:50:21 +00:00
Marc Glisse f01ec07125 New is_iterator test for immediate use in PCA. 2011-01-18 10:50:05 +00:00
Andreas Fabri 00a7b64e89 Declare the operator const 2010-12-12 21:32:16 +00:00
Sébastien Loriot f6afbd8a94 correct filter_output_iterator:
operator*, operator++ and operator++(int) was not working with all possible iterators
2010-09-02 06:30:35 +00:00
Laurent Rineau 49c71b30ac Merge CGAL-3.7-branch:
| ------------------------------------------------------------------------
  | r58172 | lrineau | 2010-08-20 11:21:30 +0200 (Fri, 20 Aug 2010) | 3 lines
  | Changed paths:
  |    M /branches/CGAL-3.7-branch/Arithmetic_kernel/test/Arithmetic_kernel/CMakeLists.txt
  | 
  | Fix buggy CMake logic: the GMP_arithmetic_kernel.cpp must me configured
  | only once.
  | 
  | ------------------------------------------------------------------------
  | r58173 | lrineau | 2010-08-20 11:25:35 +0200 (Fri, 20 Aug 2010) | 2 lines
  | Changed paths:
  |    M /branches/CGAL-3.7-branch/BGL/examples/BGL_arrangement_2
  |    M /branches/CGAL-3.7-branch/BGL/examples/BGL_arrangement_2/dual.cpp
  |    M /branches/CGAL-3.7-branch/BGL/examples/BGL_arrangement_2/primal.cpp
  | 
  | Fix warning about deprecated included headers.
  | 
  | ------------------------------------------------------------------------
  | r58174 | lrineau | 2010-08-20 11:39:25 +0200 (Fri, 20 Aug 2010) | 3 lines
  | Changed paths:
  |    M /branches/CGAL-3.7-branch/Boolean_set_operations_2/test/Boolean_set_operations_2/test_polygon_validation.cpp
  | 
  | Modify the test file so that the check function do not display warnings
  | that result in a 'w' in the testsuite.
  | 
  | ------------------------------------------------------------------------
  | r58175 | lrineau | 2010-08-20 11:45:26 +0200 (Fri, 20 Aug 2010) | 9 lines
  | Changed paths:
  |    M /branches/CGAL-3.7-branch/GraphicsView/demo/Bounding_volumes/Bounding_volumes.cpp
  | 
  | Fix warnings:
  | 
  | test/Bounding_volumes_Demo/Bounding_volumes.cpp: In constructor `MainWindow::MainWindow()':
  | test/Bounding_volumes_Demo/Bounding_volumes.cpp:71: warning: `MainWindow::P' will be initialized after
  | test/Bounding_volumes_Demo/Bounding_volumes.cpp:120: warning:   base `CGAL::Qt::DemosMainWindow'
  | test/Bounding_volumes_Demo/Bounding_volumes.cpp:120: warning:   when initialized here
  | test/Bounding_volumes_Demo/Bounding_volumes.cpp: In member function `void MainWindow::update()':
  | test/Bounding_volumes_Demo/Bounding_volumes.cpp:247: warning: comparison between signed and unsigned integer expressions
  | 
  | ------------------------------------------------------------------------
  | r58177 | lrineau | 2010-08-20 11:47:06 +0200 (Fri, 20 Aug 2010) | 3 lines
  | Changed paths:
  |    M /branches/CGAL-3.7-branch/Min_circle_2/include/CGAL/Min_circle_2.h
  | 
  | Fix warning:
  | include/CGAL/Min_circle_2.h:197: warning: comparison between signed and unsigned integer expressions
  | 
  | ------------------------------------------------------------------------
  | r58178 | lrineau | 2010-08-20 11:49:09 +0200 (Fri, 20 Aug 2010) | 4 lines
  | Changed paths:
  |    M /branches/CGAL-3.7-branch/STL_Extension/include/CGAL/assertions.h
  | 
  | Avoid a warning if NDEBUG and CGAL_NDEBUG are both defined:
  | 
  | include/CGAL/assertions.h:59:1: warning: "CGAL_NDEBUG" redefined
  | 
  | ------------------------------------------------------------------------
  | r58179 | lrineau | 2010-08-20 11:50:54 +0200 (Fri, 20 Aug 2010) | 8 lines
  | Changed paths:
  |    M /branches/CGAL-3.7-branch/GraphicsView/include/CGAL/Qt/GraphicsViewCircularArcInput.h
  | 
  | Fix a warning:
  | 
  | include/CGAL/Qt/GraphicsViewCircularArcInput.h: In constructor 'CGAL::Qt::GraphicsViewCircularArcInput<K>::GraphicsViewCircularArcInput(QObject*, QGraphicsScene*) [with K = CGAL::Circular_kernel_2<CGAL::Cartesian<CGAL::Quotient<CGAL::MP_Float> >, CGAL::Algebraic_kernel_for_circles_2_2<CGAL::Quotient<CGAL::MP_Float> > >]':
  | cmake/platforms/i686_Linux-2.6_g++-4.1.2_CentOS-5.1/test/Circular_kernel_2_Demo/Circular_kernel_2.cpp:107:   instantiated from here
  | include/CGAL/Qt/GraphicsViewCircularArcInput.h:73: warning: 'CGAL::Qt::GraphicsViewCircularArcInput<CGAL::Circular_kernel_2<CGAL::Cartesian<CGAL::Quotient<CGAL::MP_Float> >, CGAL::Algebraic_kernel_for_circles_2_2<CGAL::Quotient<CGAL::MP_Float> > > >::scene_' will be initialized after
  | include/CGAL/Qt/GraphicsViewCircularArcInput.h:68: warning:   'int CGAL::Qt::GraphicsViewCircularArcInput<CGAL::Circular_kernel_2<CGAL::Cartesian<CGAL::Quotient<CGAL::MP_Float> >, CGAL::Algebraic_kernel_for_circles_2_2<CGAL::Quotient<CGAL::MP_Float> > > >::count'
  | include/CGAL/Qt/GraphicsViewCircularArcInput.h:79: warning:   when initialized here
  | 
  | ------------------------------------------------------------------------
  | r58180 | lrineau | 2010-08-20 11:56:19 +0200 (Fri, 20 Aug 2010) | 21 lines
  | Changed paths:
  |    M /branches/CGAL-3.7-branch/Convex_hull_d/include/CGAL/Delaunay_d.h
  | 
  | Fix warnings:
  | 
  | include/CGAL/Delaunay_d.h: In member function 'CGAL::Delaunay_d<R_, Lifted_R_>::Simplex_iterator& CGAL::Delaunay_d<R_, Lifted_R_>::Simplex_iterator::operator++() [with R_ = CGAL::Cartesian_d<double, CGAL::Linear_algebraCd<double, std::allocator<double> > >, Lifted_R_ = CGAL::Cartesian_d<double, CGAL::Linear_algebraCd<double, std::allocator<double> > >]':
  | include/CGAL/Delaunay_d.h:1011:   instantiated from 'std::list<typename CGAL::Delaunay_d<R_, Lifted_R_>::Simplex_handle, std::allocator<typename CGAL::Delaunay_d<R_, Lifted_R_>::Simplex_handle> > CGAL::Delaunay_d<R_, Lifted_R_>::all_simplices(CGAL::Delaunay_d<R_, Lifted_R_>::Delaunay_voronoi_kind) const [with R_ = CGAL::Cartesian_d<double, CGAL::Linear_algebraCd<double, std::allocator<double> > >, Lifted_R_ = CGAL::Cartesian_d<double, CGAL::Linear_algebraCd<double, std::allocator<double> > >]'
  | cmake/platforms/i686_Linux-2.6_g++-4.3.3_CentOS-5.1-O2/test/Convex_hull_d/delaunay_d-test.cpp:74:   instantiated from here
  | include/CGAL/Delaunay_d.h:229: warning: suggest parentheses around && within ||
  | include/CGAL/Delaunay_d.h: In member function 'CGAL::Delaunay_d<R_, Lifted_R_>::Simplex_iterator& CGAL::Delaunay_d<R_, Lifted_R_>::Simplex_iterator::operator++() [with R_ = CGAL::Homogeneous_d<CGAL::Gmpz, CGAL::Linear_algebraHd<CGAL::Gmpz, std::allocator<CGAL::Gmpz> > >, Lifted_R_ = CGAL::Homogeneous_d<CGAL::Gmpz, CGAL::Linear_algebraHd<CGAL::Gmpz, std::allocator<CGAL::Gmpz> > >]':
  | include/CGAL/Delaunay_d.h:1011:   instantiated from 'std::list<typename CGAL::Delaunay_d<R_, Lifted_R_>::Simplex_handle, std::allocator<typename CGAL::Delaunay_d<R_, Lifted_R_>::Simplex_handle> > CGAL::Delaunay_d<R_, Lifted_R_>::all_simplices(CGAL::Delaunay_d<R_, Lifted_R_>::Delaunay_voronoi_kind) const [with R_ = CGAL::Homogeneous_d<CGAL::Gmpz, CGAL::Linear_algebraHd<CGAL::Gmpz, std::allocator<CGAL::Gmpz> > >, Lifted_R_ = CGAL::Homogeneous_d<CGAL::Gmpz, CGAL::Linear_algebraHd<CGAL::Gmpz, std::allocator<CGAL::Gmpz> > >]'
  | cmake/platforms/i686_Linux-2.6_g++-4.3.3_CentOS-5.1-O2/test/Convex_hull_d/delaunay_d-test.cpp:162:   instantiated from here
  | include/CGAL/Delaunay_d.h:229: warning: suggest parentheses around && within ||
  | include/CGAL/Delaunay_d.h: In constructor 'CGAL::Delaunay_d<R_, Lifted_R_>::Simplex_iterator::Simplex_iterator(CGAL::Delaunay_d<R_, Lifted_R_>*, typename CGAL::Convex_hull_d<Lifted_R_>::Simplex_iterator, CGAL::Delaunay_d<R_, Lifted_R_>::Delaunay_voronoi_kind) [with R_ = CGAL::Cartesian_d<double, CGAL::Linear_algebraCd<double, std::allocator<double> > >, Lifted_R_ = CGAL::Cartesian_d<double, CGAL::Linear_algebraCd<double, std::allocator<double> > >]':
  | include/CGAL/Delaunay_d.h:575:   instantiated from 'CGAL::Delaunay_d<R_, Lifted_R_>::Simplex_iterator CGAL::Delaunay_d<R_, Lifted_R_>::simplices_begin(CGAL::Delaunay_d<R_, Lifted_R_>::Delaunay_voronoi_kind) [with R_ = CGAL::Cartesian_d<double, CGAL::Linear_algebraCd<double, std::allocator<double> > >, Lifted_R_ = CGAL::Cartesian_d<double, CGAL::Linear_algebraCd<double, std::allocator<double> > >]'
  | include/CGAL/Delaunay_d.h:1011:   instantiated from 'std::list<typename CGAL::Delaunay_d<R_, Lifted_R_>::Simplex_handle, std::allocator<typename CGAL::Delaunay_d<R_, Lifted_R_>::Simplex_handle> > CGAL::Delaunay_d<R_, Lifted_R_>::all_simplices(CGAL::Delaunay_d<R_, Lifted_R_>::Delaunay_voronoi_kind) const [with R_ = CGAL::Cartesian_d<double, CGAL::Linear_algebraCd<double, std::allocator<double> > >, Lifted_R_ = CGAL::Cartesian_d<double, CGAL::Linear_algebraCd<double, std::allocator<double> > >]'
  | cmake/platforms/i686_Linux-2.6_g++-4.3.3_CentOS-5.1-O2/test/Convex_hull_d/delaunay_d-test.cpp:74:   instantiated from here
  | include/CGAL/Delaunay_d.h:213: warning: suggest parentheses around && within ||
  | include/CGAL/Delaunay_d.h: In constructor 'CGAL::Delaunay_d<R_, Lifted_R_>::Simplex_iterator::Simplex_iterator(CGAL::Delaunay_d<R_, Lifted_R_>*, typename CGAL::Convex_hull_d<Lifted_R_>::Simplex_iterator, CGAL::Delaunay_d<R_, Lifted_R_>::Delaunay_voronoi_kind) [with R_ = CGAL::Homogeneous_d<CGAL::Gmpz, CGAL::Linear_algebraHd<CGAL::Gmpz, std::allocator<CGAL::Gmpz> > >, Lifted_R_ = CGAL::Homogeneous_d<CGAL::Gmpz, CGAL::Linear_algebraHd<CGAL::Gmpz, std::allocator<CGAL::Gmpz> > >]':
  | include/CGAL/Delaunay_d.h:575:   instantiated from 'CGAL::Delaunay_d<R_, Lifted_R_>::Simplex_iterator CGAL::Delaunay_d<R_, Lifted_R_>::simplices_begin(CGAL::Delaunay_d<R_, Lifted_R_>::Delaunay_voronoi_kind) [with R_ = CGAL::Homogeneous_d<CGAL::Gmpz, CGAL::Linear_algebraHd<CGAL::Gmpz, std::allocator<CGAL::Gmpz> > >, Lifted_R_ = CGAL::Homogeneous_d<CGAL::Gmpz, CGAL::Linear_algebraHd<CGAL::Gmpz, std::allocator<CGAL::Gmpz> > >]'
  | include/CGAL/Delaunay_d.h:1011:   instantiated from 'std::list<typename CGAL::Delaunay_d<R_, Lifted_R_>::Simplex_handle, std::allocator<typename CGAL::Delaunay_d<R_, Lifted_R_>::Simplex_handle> > CGAL::Delaunay_d<R_, Lifted_R_>::all_simplices(CGAL::Delaunay_d<R_, Lifted_R_>::Delaunay_voronoi_kind) const [with R_ = CGAL::Homogeneous_d<CGAL::Gmpz, CGAL::Linear_algebraHd<CGAL::Gmpz, std::allocator<CGAL::Gmpz> > >, Lifted_R_ = CGAL::Homogeneous_d<CGAL::Gmpz, CGAL::Linear_algebraHd<CGAL::Gmpz, std::allocator<CGAL::Gmpz> > >]'
  | cmake/platforms/i686_Linux-2.6_g++-4.3.3_CentOS-5.1-O2/test/Convex_hull_d/delaunay_d-test.cpp:162:   instantiated from here
  | include/CGAL/Delaunay_d.h:213: warning: suggest parentheses around && within ||
  | 
  | ------------------------------------------------------------------------
  | r58181 | lrineau | 2010-08-20 12:11:35 +0200 (Fri, 20 Aug 2010) | 3 lines
  | Changed paths:
  |    M /branches/CGAL-3.7-branch/Installation/test/Installation/link_to_CGAL_Qt4.cpp
  | 
  | Fix a warning:
  | test/Installation/link_to_CGAL_Qt4.cpp:11: warning: the address of 'f' will never be NULL
  | 
  | ------------------------------------------------------------------------
  | r58182 | lrineau | 2010-08-20 12:15:14 +0200 (Fri, 20 Aug 2010) | 3 lines
  | Changed paths:
  |    M /branches/CGAL-3.7-branch/Jet_fitting_3/include/CGAL/Monge_via_jet_fitting.h
  | 
  | Fix a warning:
  | include/CGAL/Monge_via_jet_fitting.h:425: warning: comparison between signed and unsigned integer expressions
  | 
  | ------------------------------------------------------------------------
  | r58183 | lrineau | 2010-08-20 12:19:36 +0200 (Fri, 20 Aug 2010) | 4 lines
  | Changed paths:
  |    M /branches/CGAL-3.7-branch/Min_circle_2/include/CGAL/Min_circle_2.h
  |    M /branches/CGAL-3.7-branch/Min_circle_2/test/Min_circle_2/test_Min_circle.cpp
  | 
  | Fix warnings:
  |     "comparison between signed and unsigned integer expressions"
  | and "unsigned is always >= 0"
  | 
  | ------------------------------------------------------------------------
  | r58184 | lrineau | 2010-08-20 12:22:35 +0200 (Fri, 20 Aug 2010) | 2 lines
  | Changed paths:
  |    M /branches/CGAL-3.7-branch/Min_ellipse_2/test/Min_ellipse_2/test_Min_ellipse_2.cpp
  | 
  | Fix warnings about comparison between signed and unsigned.
  | 
  | ------------------------------------------------------------------------
2010-08-20 12:57:32 +00:00
Marc Glisse 6ea5914309 Import fix for narrowing conversions from the relevant LWG issue 2010-07-08 09:12:23 +00:00
Laurent Rineau b122410e54 Fix a warning (unused parameter). 2010-06-29 12:37:23 +00:00
Sébastien Loriot 26dcdbcba2 removed non-need copy constructor added to drop_or_dispatch_output_iterator
in revision 56902
2010-06-21 09:48:18 +00:00
Sébastien Loriot d9a4f82a66 add copy constructor to Dispatch and drop output iterators (needed by MSVC10)
(only in the non-variadic case for the moment)
2010-06-21 09:19:41 +00:00
Sébastien Loriot 54b0fbc99a add helper functions tuple_size and tuple_element for CGAL::cpp0x:tuple
This is defined in cpp0x and tr1 but not in boost: in case  boost::tuple
is used, it relies on internal boost struct.
2010-06-14 16:24:10 +00:00
Sébastien Loriot 52317dd49f add python script (replace_CGAL_NAMESPACE.py) to replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
2010-06-09 07:37:13 +00:00
Fernando Cacciola 75e7d64cd1 Renamed nested type T to Handled_type to work around VC name-lookup bugs 2010-05-19 13:30:47 +00:00
Marc Glisse ca42e510e3 Qualify call to base class function (for intel). 2010-04-23 10:03:59 +00:00
Marc Glisse 08b8848282 Use this-> more consistently for begin and end. 2010-04-23 08:09:14 +00:00
Fernando Cacciola a12e6dc61c Fixed id() and identical() so they don't cast to 'long' 2010-03-25 13:17:21 +00:00
Michael Kerber 85d1292973 Introduced typedefs for template parameter 2010-03-03 16:25:15 +00:00
Sylvain Pion 85dc12f2a7 Remove empty lines at beginning and end of files
(apply Scripts/developer_scripts/remove_empty_lines.pl).
2010-02-01 12:55:28 +00:00
Sylvain Pion f06dc5554a Add two functions to check (more efficiently than naively, namely O(sqrt(n))
instead of O(n)) whether an iterator belongs to the range [begin(), end()).

  bool owns(const_iterator pos);
  bool owns_dereferencable(const_iterator pos);

This is useful for speeding up some debug function at the triangulation level.
2010-01-23 17:26:16 +00:00
Sylvain Pion a55becf097 Add debugging aid : after erasing an element, zero out the corresponding memory
area in order to detect misuses of deleted elements early.
2010-01-14 20:18:24 +00:00
Sylvain Pion c281d3c234 Avoid "Incrementing an invalid iterator". 2010-01-06 15:44:15 +00:00
Sylvain Pion b9a62e057c Add a convenience function for the idiom "if(obj.is<Point>())"... 2009-12-16 16:09:04 +00:00
Sylvain Pion 9ac83df64a Add assertions that catch cases where we increment or decrement an iterator
which has been erase()'d.
2009-11-15 20:47:58 +00:00
Sylvain Pion 5fda817f95 Remove a few "warning: extra ';'" with g++ -pedantic. 2009-11-14 11:49:52 +00:00
Sylvain Pion 19a5490ea4 Kill a warning of gcc in -pedantic mode. 2009-11-13 12:20:21 +00:00
Sylvain Pion 2f3c5bf500 Merged revisions 52226 via svnmerge from
svn+ssh://scm.gforge.inria.fr/svn/cgal/branches/STL_Extension_Complexity_tags

........
  r52226 | spion | 2009-10-09 13:43:18 +0200 (Fri, 09 Oct 2009) | 2 lines
  
  Code+doc+tests for complexity tags Fast, Compact, Location_policy, Fast_location and Compact_location.
........
2009-11-03 15:17:02 +00:00
Stéphane Tayeb 8dceee4164 Add include<CGAL/assertions.h> in *_assertion files. 2009-10-07 13:16:13 +00:00
Stéphane Tayeb 770492c1c7 Use new version of script create_assertions.sh to generate *_assertions.h files.
Diffs are:
 * #undef added
 * in old files, (void)0 is replaced by static_cast<void>(0)
 * in old files, lines as "#  define CGAL_xxx_assertion 1" are added
 * in point_set_processing_assertions.h, surface_mesh_parameterization_assertions.h, surface_reconstruction_points_assertions.h, "|| defined(CGAL_NDEBUG)" is replaced by "|| defined (NDEBUG)"
 * protective macros (if any) are removed
 * included files if any (<CGAL/assertions.h>, <CGAL/trace.h>) are removed
2009-10-07 07:49:44 +00:00
Sylvain Pion 8573fe26ce Rename CGALi to internal. 2009-08-24 17:10:04 +00:00
Sylvain Pion 927b432b39 typo : mecanism -> mechanism. 2009-08-10 15:57:03 +00:00
Sylvain Pion 1948ac7df0 Add more information about make_array().
It's potentially removable, actually, apart from VC++ being too buggy as usual.
2009-08-04 15:03:23 +00:00
Laurent Rineau ac0017572a Fix a problem reported by a user and discussed on CGAL-develop:
Laurent Rineau (GeometryFactory) wrote:
> On Wednesday 29 July 2009 14:05:41 Sylvain Pion wrote:
>> Laurent Rineau (GeometryFactory) wrote:
>>> One GF customer reported the following issue:
>>>
>>> "For 64bit compilation, we get the disturbing warning
>>>
>>> ..\Third_Party_Libraries\CGAL\include\CGAL/Handle.h(90) : warning C4311:
>>> 'reinterpret_cast' : pointer truncation from 'CGAL::Rep *const ' to
>>> 'unsigned long'
>>>
>>> which looks like a real 64bit issue."
>>>
>>> and he is right. Here is the code:
>>>
>>> inline
>>> bool
>>> identical(const Handle &h1, const Handle &h2)
>>> { return reinterpret_cast<unsigned long>(h1.PTR) ==
>>>          reinterpret_cast<unsigned long>(h2.PTR); }
>>>
>>>
>>> "unsigned long" is not the right type! On 32 bits machine, that type is
>>> too long, and on x64 under Windows, that type is too short!
>> Indeed...
>>
>>> See http://en.wikipedia.org/wiki/LLP64#Specific_data_models
>>>
>>> We need uintptr_t from C99, because that type is defined as the fastest
>>> unsigned integral type that is convertible from void pointers and
>>> comvertible to void pointers, without truncation.
>>>
>>> However, that type is not yet in the C++ norm, and some platforms may not
>>> have it. We will probably need some macro stuff:
>>>   - use C++0x if possible,
>>>   - fallback to plain C99 headers,
>>>   - then fallback to platform specific typedefs.
>>>
>>> Is that the correct solution?
>> For the identical() function above, why don't we simply compare
>> the pointers without doing the casts to unsigned long at all ?
>>
>> Nevertheless, the problem exists in the id() function (and this
>> function is probably less useful...).
>> What about returning std::ptrdiff_t with {return h.PTR -
>> static_cast<Ref*>(0);} ?
> 
> Yes. That might be a good cross-platform solution for id(). I will commit that 
> in the trunk. And identical() will be a.id()==b.id().

Why not just h1.PTR == h2.PTR for identical() ?


So, let's go and break the trunk! ;-)
I have a least compiled and run test/Kernel_23/Lazy_kernel.cpp
2009-07-29 13:27:47 +00:00
Sylvain Pion 6335879bb6 Properties. 2009-07-20 08:52:20 +00:00
Andreas Fabri 1fcaf88533 Suppress warning 2009-07-07 15:56:20 +00:00
Andreas Fabri ffe2933f8c fix warning number 2009-07-06 09:30:22 +00:00
Andreas Fabri 8292c85884 Suppress warning 547 for VC++ 2009-07-05 18:56:20 +00:00
Sébastien Loriot 4104106c84 Work around for intel compiler 11 EDG and Dispatch_or_drop_output_iterator non-variadic case 2009-07-02 13:53:52 +00:00
Laurent Rineau bc6974d68d A probably temporarily fix for Intel Compiler (EDG frontend). 2009-07-01 15:42:50 +00:00
Sébastien Loriot ac1b06a265 add 1 parameter version of Dispatch_*_iterator in non-variadic case 2009-05-05 21:05:58 +00:00
Sylvain Pion 916ba2c342 Consistent naming :
Iterators_tuple   -> Iterator_tuple
Value_types_tuple -> Value_type_tuple
2009-05-05 07:38:27 +00:00
Sylvain Pion 64ed32dc80 Add missing CGALi:: . 2009-05-03 18:30:27 +00:00
Sylvain Pion b75a57f5b8 g++ 4.3 has variadics but not deleted functions. 2009-04-30 21:18:13 +00:00
Sébastien Loriot 8ea30fa091 Expand the non-variadic version of Dispatch_*_output_iterator and Is_in_tuple for up to 7 parameters 2009-04-30 17:28:55 +00:00
Sylvain Pion f0ed774e37 Move CGAL::array to namespace CGAL::cpp0x, like tuple. 2009-04-30 14:03:52 +00:00
Sylvain Pion 6792be2fa7 Move tuple & co under the sub-namespace CGAL::cpp0x, to avoid name clashes
(e.g. for make_tuple() already used for Triple/Quadruple).
2009-04-30 13:32:03 +00:00
Sylvain Pion a4c173d9dd Add Is_in_tuple<>, Dispatch_or_drop_output_iterator<> and Dispatch_output_iterator<>. 2009-04-29 20:48:45 +00:00
Sylvain Pion 2eb44d3596 tuple compatibility layer. 2009-04-29 19:45:41 +00:00
Sylvain Pion a29850cb8d Add comment 2009-04-21 18:00:27 +00:00
Sylvain Pion f55c8e9a2f Renaming before documenting: Default_argument -> Default. 2009-04-10 21:55:24 +00:00
Sylvain Pion 560452cf04 I'm told this fixes the test-suite.
-- 
Sylvain, aka mail2svncommitconverter
2009-03-05 20:41:46 +00:00
Sylvain Pion da0da4cbc6 Add functions iterator_to and s_iterator_to that construct an iterator from
a reference to an object supposedly stored in a Compact_container.
This is inspired from Boost.Intrusive:
http://www.boost.org/doc/libs/1_38_0/doc/html/intrusive/obtaining_iterators_from_values.html
2009-03-03 02:47:23 +00:00
Andreas Fabri f64b5e9e2c Undo of Rev 46756 and 46737 2008-11-25 17:17:06 +00:00
Sylvain Pion 6f5963131b Fix comment. 2008-11-21 16:47:39 +00:00
Sylvain Pion 8eab7e07dd Split <CGAL/assertions.h> in 2 files, by moving the assertion behaviour
changing functions to a separate header, not included by default
(<CGAL/assertions_behaviour.h>).  The motivation is to hide the enum
values with risky names (ABORT, EXIT, CONTINUE) to a header file which
is most probably not used by any user (or very few).
(breaks backward compatibility for an expected very few, for the sake
of erasing random surprises for "many" ?)
2008-11-21 16:42:02 +00:00
Andreas Fabri 0f9ed11e99 Turn operator== into a member function 2008-11-08 11:35:40 +00:00
Andreas Fabri 06f25ea9e6 turn operator==(Filter_iterator, Filter_iterator) into a member function 2008-11-07 09:47:54 +00:00
Andreas Fabri e354f7ce4d Include boost header file, as we use a boost macro 2008-10-13 14:18:24 +00:00
Andreas Fabri f4e89cf427 suppress VC++ warning 2008-10-13 13:11:05 +00:00
Sylvain Pion 4aa1cb057a Remove my email adress from header files. 2008-10-11 20:21:08 +00:00
Sylvain Pion 6aba449434 Replace Nef's custom Object_handle by CGAL::Object.
There were some differences :
- CGAL::Object has no template constructor, so using make_object() was required.
- CGAL::Object had no comparison with NULL to check emptyness.  I added
  such comparison operators to CGAL::Object as *deprecated*.
2008-09-09 16:03:25 +00:00
Sylvain Pion a565db4da9 Apply std::remove_reference *before* std::remove_cv... 2008-08-28 12:38:14 +00:00
Sylvain Pion d79048ab40 Add comment. 2008-08-27 17:31:06 +00:00
Sylvain Pion 7aa01562bd typo 2008-08-27 15:36:24 +00:00
Sylvain Pion 8865f7ea4f Use C++0x rvalue references in Object, Handle_for, MP_Float and Quotient. 2008-08-27 14:19:18 +00:00
Sylvain Pion 44c185f1f4 Rename boost::array to CGAL::array. 2008-08-26 13:15:21 +00:00
Sylvain Pion 53f5c9679b Add a using directive "using std::array" in namespace CGAL to import either:
- C++0x's std:array from <array>
- TR1's std::tr1::array from <tr1/array>
- boost::array from <boost/array.hpp>
Motivation : GCC's std::array is faster than boost::array.

Move CGALi:make_array to namespace CGAL.

Document CGAL::array.
2008-08-26 13:08:16 +00:00
Sylvain Pion f615d84fe0 Add new function CGAL::indeterminate() to help generate an indeterminate
in template context.
2008-08-22 16:06:53 +00:00
Sylvain Pion e829727e6a Add overloads of the handy functions:
bool are_sorted(const T & a, const T & b, const T & c)
  bool are_strictly_sorted(const T & a, const T & b, const T & c)
  bool are_ordered(const T & a, const T & b, const T & c)
  bool are_strictly_ordered(const T & a, const T & b, const T & c)
with a Compare functor as last argument.
2008-08-12 15:22:47 +00:00
Sylvain Pion 25051d8809 Move CGAL::copy_n() from the obsolete <CGAL/copy_n.h> to <CGAL/algorithm.h>. 2008-08-12 12:51:15 +00:00
Sylvain Pion c1389c006d Add a couple of handy functions:
bool are_sorted(const T & a, const T & b, const T & c)
  bool are_strictly_sorted(const T & a, const T & b, const T & c)
  bool are_ordered(const T & a, const T & b, const T & c)
  bool are_strictly_ordered(const T & a, const T & b, const T & c)
2008-08-12 12:43:20 +00:00
Sylvain Pion 0c34dc2525 - Refine CGAL_AND or CGAL_OR to make sure they work when the second argument is a bool.
- Add CGAL_AND_3 and CGAL_OR_3 for 3-arguments boolean operations.
2008-08-12 11:23:34 +00:00
Sylvain Pion 449195eb9d Add CGAL_AND() and CGAL_OR() macros, which do the same as && and || but propagate Uncertain-ty.
(for compilers that support statement expressions, like GCC).

Add Uncertain::is_same() to help in the test-suite.
2008-08-12 10:50:39 +00:00
Sylvain Pion 0b58aac0d4 Add certainly_not() and possibly_not() (more expressive and maybe faster), and
simplify the implementation of certainly() and possibly().
2008-08-12 08:26:00 +00:00
Sylvain Pion 34be1f4a81 Introduce a macro CGAL_NO_UNCERTAIN_CONVERSION_OPERATOR to restrict the automatic
conversion operator.
Update the test-suite to work in this setting on Leopard (assert macro restrictions).
2008-08-11 08:24:31 +00:00
Sylvain Pion aff1bf74aa Replace CGAL::Interval_nt<>::number_of_failures() by a CGAL_PROFILER() counter. 2008-08-06 13:16:04 +00:00
Sylvain Pion 5641a7fe20 Fix the FIXME : improved operator== 2008-08-04 15:42:10 +00:00
Sylvain Pion 8828ebec1c - The default constructor of Uncertain now initializes to T(),
not indeterminate.
- Add some examples in the manual.
2008-08-04 15:12:59 +00:00
Sylvain Pion 0c65a5a092 - It is not possible to use the CONTINUE mode in set_error_behaviour().
- Various formatting fixes.
- Mark the assertion_fail and similar functions as CGAL_NORETURN.
2008-07-31 09:50:28 +00:00
Sylvain Pion 9ae3ea91b7 Add documentation and test-suite for CGAL::Uncertain.
Some other fixes.
2008-07-30 16:34:14 +00:00
Sylvain Pion 2da32b8ba8 Replace && by & and || by | inside the definition of the overloaded operators & and |. 2008-07-30 14:23:36 +00:00
Sylvain Pion 5c11fa3a56 Add assignment operator from T.
Add fixme comment.
2008-07-30 12:46:56 +00:00
Sylvain Pion 265ce473b4 Rename extract_singleton(Uncertain<T>) to get_certain() 2008-07-30 12:03:07 +00:00
Sylvain Pion f70c3779c7 Rename Uncertain::is_singleton() to is_certain() 2008-07-30 08:29:37 +00:00
Sylvain Pion 2f0abc4b6f Move CGAL::Object from Kernel_23 to STL_Extension. 2008-07-29 15:26:38 +00:00
Sylvain Pion da4a9f4fd4 Undo previous change in utility.h : I can't mark Triple/Quadruple as CGAL_NO_DEPRECATE_CODE,
since they are still used (so they can't be disabled).

However: mark Twotuple, Threetuple, Fourtuple, Sixtuple as CGAL_NO_DEPRECATE_CODE.
2008-07-28 16:49:46 +00:00
Sylvain Pion 0cca1762e4 Mark Triple/Quadruple with CGAL_NO_DEPRECATED_CODE. 2008-07-28 16:45:00 +00:00
Sylvain Pion 6bffa76272 Phase out Triple and Quadruple:
- add get<i>() member function
- add make_tuple() function.
2008-07-28 15:29:54 +00:00
Sylvain Pion b4aaa1bbd1 Mark Twotuple, Threetuple, Fourtuple, Sixtuple with CGAL_DEPRECATED.
(marke the constructors as such, as marking the classes does not work
with templates with GCC right now).
2008-07-25 17:57:22 +00:00
Sylvain Pion c36fe88397 Mark Triple and Quadruple "not-recommended anymore". 2008-07-25 15:21:06 +00:00
Michael Hoffmann ee574c68c6 Removed include of functional_base. 2008-07-23 13:57:55 +00:00
Michael Hoffmann ff118c1e63 Remove bind/compose/swap adaptors. 2008-07-23 13:19:15 +00:00
Sylvain Pion 79864c0c8e Remove Arity_tag. 2008-07-22 12:29:01 +00:00
Sylvain Pion ea17d27c87 Define is_singleton() and extract_singleton() for non-Uncertain types,
so that Filtered_predicate still works with predicates returning non-Uncertain types.
2008-07-17 09:31:44 +00:00
Sylvain Pion 91d2d7478b Move Uncertain.h from Filtered_kernel to STL_Extension 2008-07-16 16:07:27 +00:00
Sylvain Pion 2eb0d8f9e9 certainly() -> possibly(). 2008-07-14 11:16:41 +00:00
Sylvain Pion eff6efd3af CGAL_NULL and CGAL_NULL_TYPE are now constant macros, so replace them by:
- CGAL_NULL -> NULL
- CGAL_NULL_TYPE -> CGAL::Nullptr_t (typedef to const void *)
2008-07-12 21:58:52 +00:00
Sylvain Pion 9d7a609ff2 Make assertions trigger an error only for *certain* conditions (using CGAL::certainly()).
This is useful for interval arithmetic code.
(replay of r44002 with the header order hopefully fixed)
2008-07-10 21:49:17 +00:00
Sylvain Pion 2b4ebf01f7 Undo r44002 as it's buggy 2008-07-06 20:47:29 +00:00
Sylvain Pion 514a17ad4f Improve the interaction of assertions and interval computations.
Things like "CGAL_assertion(denominator != 0)" produced assertion failures for no gain.
So now, the assertion is triggered only if the condition is certain, using CGAL::certainly().
That is, change the following in all assertion files :
  ((EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
to :
  (CGAL::certainly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
2008-07-06 17:05:47 +00:00
Michael Hoffmann d92021ba08 Remove bind/compose/swap functor adaptors.
We use boost::bind instead now.
2008-06-19 11:03:40 +00:00
Sylvain Pion 7a6b5546f0 Remove white space at end of line to ease merge 2008-06-03 12:03:58 +00:00
Sylvain Pion 575edb7499 Added 2008 as copyright year, and make it INRIA only owner (this is post-GALIA code). 2008-06-03 11:56:43 +00:00
Sylvain Pion dfce30f55c Finish the rewrite of the "bit squatting". 2008-06-03 11:43:25 +00:00
Sylvain Pion 3901116641 Replace the union used for the bit manipulation of pointers, by casting
to (char *), substraction with NULL, and then changing bits on the integer.
(draft patch for now to synchronize with the parallel-branch, cleanup to follow)

The previous approach failed on sparc/linux as the bit representations
of pointers and integers are different.
2008-06-03 09:22:06 +00:00
Sylvain Pion 110a5db8be Rename all C++0x related config macros to consistently have CPP0X in their name,
as in CGAL_CFG_NO_CPP0X_VARIADIC_TEMPLATES.
2008-05-21 15:34:36 +00:00
Andreas Fabri 54ad19e4db handle struct mixup 2008-05-11 18:14:25 +00:00
Sylvain Pion ef30aa5ffe Add a variadic template version of make_array() (by Samuel Hornus). 2008-05-07 16:46:15 +00:00
Laurent Rineau 4bf21e39ed Revert r42877:
"Use boost::iterator_facade for the Compact_container's iterators."
That modification triggers compilation errors with Visual C++.
2008-04-24 13:08:49 +00:00
Samuel Hornus 8f902841c6 adding operator->() with a proxy-trick 2008-04-17 09:03:06 +00:00
Sylvain Pion 5699aa2aca Add back the comparisons with NULL... they are needed. 2008-04-12 21:23:08 +00:00
Sylvain Pion 57904f1e25 Use boost::iterator_facade for the Compact_container's iterators. 2008-04-12 18:19:43 +00:00
Sylvain Pion 4416bee3de Move all Handle* classes to STL_Extension. There's no geometry in them,
so the kernel is not the most appropriate place for them.
2008-04-12 10:38:07 +00:00
Sylvain Pion cab843595b Replace {Two|Three|Four}tuple<FT> or <RT> by boost::array.
It makes more code parameterized by the dimension as template argument.
It provides iterators and a few basic functions already such as operator==...
I added CGALi::make_array() to easily and efficiently construct them.
2008-04-09 11:44:28 +00:00
Sylvain Pion 29d15d7eb1 Remove obsolete SunPRO workarounds 2008-01-20 21:51:12 +00:00
Sylvain Pion 4d1b8d63e3 Remove workarounds and support for the BORLAND compiler. 2008-01-20 20:24:20 +00:00
Sylvain Pion 1d2b1f3b6a Make CGAL_NDEBUG depend on NDEBUG, and simplify code. 2008-01-20 18:07:46 +00:00
Sylvain Pion 3eb3e168e8 The main (non package-specific) macros like CGAL_assertion() should not depend on
kernel specific knobs like CGAL_KERNEL_NO_ASSERTIONS.
2008-01-20 17:39:27 +00:00
Sylvain Pion 5c551050a5 Remove obsolete VC++ 6 specific code. 2008-01-20 15:27:47 +00:00
Sylvain Pion 2b46416907 Remove more SUNPRO + RW's STL obsolete workarounds:
CGAL_CFG_SUNPRO_RWSTD (partially)
CGAL_reverse_iterator()
2008-01-03 15:04:30 +00:00
Sylvain Pion e8591b3b32 Change Counting_output_iterator to store a pointer to the counter, instead of
the counter itself.  It fixes a problem with g++ 4.3 since std::copy now
performs the assignments on *copies* of the output iterator.
See : http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34595
2007-12-26 17:34:36 +00:00
Sylvain Pion be95afcd9b Fix const-correctness issue. 2007-12-25 11:22:48 +00:00
Sylvain Pion ef3ba8a5ec variadic template fix 2007-12-24 13:30:24 +00:00
Sylvain Pion d49e006c53 Remove default argument "0" to calls to assertion_fail() et al,
as the default is now the empty string "".
It should fix the problem that we have lost the assertion messages
(seeing "what():  basic_string::_S_construct NULL not valid" instead),
for packages that use package-specific assertion macros.
2007-12-21 21:58:27 +00:00
Sylvain Pion 1f492aa1e8 Remove unused, undocumented, and superceeded by boost::function_output_iterator (more or less)
class Transform_output_iterator.
2007-11-20 14:05:31 +00:00
Andreas Meyer fdeedcf8b0 some low level code cleanup. renamed
* CGAL_error to CGAL_error_msg
* introduced a macro CGAL_error()
* added some words about CGAL_error to the developers manual
* renamed most of assert(x) into CGAL_assertion(x)
* renamed exit(x) with x != 0 , CGAL_assertion(false) and assert(false) into CGAL_error
* CORE left untouched, OpenNL changed
2007-11-07 16:51:18 +00:00
Sylvain Pion 848b455cc6 Use default arguments... 2007-11-05 17:13:21 +00:00
Sylvain Pion 2c25427164 - New class Default_argument that helps shrink error messages
and mangled names.
- Use it in Compact_container in place of Default_allocator
  which was playing the same role, but less generally.
2007-11-02 16:16:02 +00:00
Sylvain Pion ef264999b3 Renaming of Compact_container's construct_insert() to emplace() to match C++0x.
It breaks backward compat, but I doubt many people use Compact_container directly.
Make it use variadic templates, while at it.
2007-10-20 20:51:59 +00:00
Sylvain Pion 4da7713aa8 Remove obsolete config flag CGAL_CFG_NO_STDC_NAMESPACE and rename
its dependant macro CGAL_CLIB_STD to "std".
2007-08-08 15:59:25 +00:00
Andreas Meyer ba23c28c2b * added #include <CGAL/basic>
* moved some support functions/classes from EXACUS to STL_Extensions/iostream:
  - Benchmark_rep (similar to Output_rep)
  - a functor Pair_lexicographical_less_than 
    (previously called Product_order in EXACUS)
  - a functor Handle_id_less_than
2007-07-04 16:25:33 +00:00
Sylvain Pion 54b01bd44f Speed up the clear() function (and therefore the destructor), by allowing
the compiler to optimize away a complete walk over the container for
types with trivial destructors.
2007-06-08 22:35:58 +00:00
Sylvain Pion bea63ec2f6 formatting 2007-06-08 21:22:45 +00:00
Andreas Meyer 7c09dc370a * removed unused "old_alloc_strategy", based on LEDA
* some leda stuff remains : added version-dependent include for leda/memory.h
2007-04-20 12:16:17 +00:00
Sylvain Pion 8cb773f976 Rename variable to avoid shadowing warning. 2007-04-18 09:01:37 +00:00
Sylvain Pion 1fd9eeaeef Fix Quadruple's operator!=. 2007-04-16 16:26:57 +00:00
Laurent Rineau f9538d6cb8 Same think: missing operator!= for Quadruple.
Warning: I have not tested that one.
2007-04-14 18:10:44 +00:00
Laurent Rineau ec055e953b Triple had an operator==. The operator!= was missing. 2007-04-14 17:58:29 +00:00
Andreas Meyer 116d4b6570 * EXACUS -> CGAL cleanups
* license header 
* cosmetic changes
2007-04-03 16:07:32 +00:00
Sylvain Pion 57730e837e Fix headers. 2007-04-03 15:13:47 +00:00
Andreas Fabri 4b8a772dee replacement new instead of allocator::construct 2007-03-19 14:42:00 +00:00
Sylvain Pion 09c71b26f9 warning-- 2007-03-08 09:48:21 +00:00
Sylvain Pion 675f5c6104 add parenthesis to remove g++ 4.3 warning 2007-03-05 16:27:54 +00:00
Sylvain Pion 62fc224512 comment unused argument to prevent warning 2007-03-02 11:05:53 +00:00
Fernando Cacciola 63442a954a License headers fixed. 2007-02-28 18:06:42 +00:00
Fernando Cacciola 8a3dee2292 C2vcproj fixed to look for master_71.vcproj instead of master_VC71.vcproj.
Missing svn properties added
2007-02-27 16:50:16 +00:00
Bernd Gärtner 34dd0eae83 - unused ariable warning fix 2007-02-23 08:35:43 +00:00
Andreas Meyer 1996f8c159 added a mpl struct is_same_or_equal, similar to
boost::is_same / boost::is_base_and_derived
2007-02-17 21:25:09 +00:00
Sylvain Pion 25e0f2349f Try replacing custom int_to_string by boost::lexical_cast 2007-02-05 15:53:32 +00:00
Michael Hemmer 95d26f6787 the function check_tag is deprecated since CGAL 3.3 2007-02-02 08:37:35 +00:00
Fernando Cacciola c211eb0aa9 Fixed incorrect 'typename' 2007-01-19 19:05:10 +00:00
Fernando Cacciola 278e0bbc77 VC8 STL iterator fixes 2007-01-18 13:46:53 +00:00
Sylvain Pion 0530a7d920 min_n() and max_n() functions similar to std::min() and std::max(),
but which allow more than 2 arguments.
2006-12-02 21:50:30 +00:00
Andreas Fabri dd978791ea Workaround for VC++ -- reintroduced 2006-11-10 11:51:35 +00:00
Michael Hemmer 6e8bfad68a new design for Tag_true/Tag_false
get tag via Boolean_tag<bool>
has public member: bool value
2006-11-08 14:36:53 +00:00
Michael Hemmer 7936604249 restored original version of Null_functor 2006-11-08 10:11:49 +00:00
Andreas Fabri 412c009679 Give Null_functor some nested types 2006-10-27 17:55:23 +00:00
Andreas Meyer f8c89d0986 * included EXACUS test programs in STL_Extension test (hardcoded in makefile and cgal_test)
* removed some leftover #include <CGAL/LiS/basic.h>
2006-10-26 11:24:40 +00:00
Andreas Meyer e9e8387260 merged changes from CGAL_with_EXACUS branch into trunk.
revisions used: 
(1) 32995:34537 
(2) 34538:34906
2006-10-24 15:21:25 +00:00
Sylvain Pion 5aba55173f Introduce CGAL_NDEBUG. 2006-08-11 13:01:36 +00:00
Andreas Fabri 2fb18f532d Fixed min max problem 2006-07-31 22:31:49 +00:00
Sylvain Pion e4f5e2a1ef - Introduce exception throwing as assertion behavior.
- Make it the default.

- FIXME : the exception classes are not yet documented.
2006-07-13 17:46:18 +00:00
Andreas Fabri 4aa722c47c empty circulator ranges must not be encoded with default constructed iterators 2006-06-15 13:39:06 +00:00
Ron Wein 623b747d42 Changed the header such that the copyright is only for TAU. 2006-05-16 10:11:35 +00:00
Ron Wein 68d5ab3e0c Fixed a bug in the swap(pos1, pos2) function. 2006-05-14 07:40:30 +00:00
Marc Glisse b13e3b5ec0 Last round of missing std:: before 3.2 (Andreas permission) 2006-04-19 16:56:12 +00:00
Sylvain Pion 23d1b2e70d - Renaming to avoid potential confusion 2006-03-25 12:21:56 +00:00
Marc Glisse 0756f34663 Work around yet another sunpro bug, where it complains about an ambiguity
between A and A.
2006-02-28 16:03:31 +00:00
Marc Glisse f9e7d81429 Clean sunpro rwstd workaround by using reverse_iterator macro. 2006-02-25 23:25:27 +00:00
Marc Glisse 733a96b81c Try new version of sunpro reverse_iterator workaround. 2006-02-25 00:14:28 +00:00
Monique Teillaud 6c595610ca revert my previous change (in fact Sylvain had already fixed the bug in svn
after the internal release)
2006-02-24 10:02:04 +00:00
Monique Teillaud 30712bb7ba commenting Sylvain's recent addition, which should give a chance to
tomorrow's test suite to get more green boxes...
2006-02-24 09:45:18 +00:00
Sylvain Pion 7efa173f71 - Fix last change. 2006-02-23 22:32:10 +00:00
Sylvain Pion acd8cdf25a - Add a Transform_output_iterator. 2006-02-23 14:21:30 +00:00
Ron Wein fdd566b269 Trying to fix the compilation warning we get from gcc 4.1 2006-02-23 13:08:30 +00:00
Ron Wein 2b89c8dc1e Fixed the header. 2006-02-23 12:00:57 +00:00
Marc Glisse 725dd1ff24 workaround for sunpro old stl, copied from vector.h 2006-02-22 16:44:00 +00:00
Marc Glisse 936522e422 workaround for sunpro old stl, copied from vector.h 2006-02-22 16:36:03 +00:00
Marc Glisse 1b05f9442d workaround for sunpro old stl, copied from vector.h. 2006-02-22 16:00:53 +00:00
Marc Glisse 6480cf43ca Fix check for broken sunpro stl. 2006-02-22 15:57:20 +00:00
Laurent Saboret db6a8f948c Change CVS keywords to SVN style 2006-02-16 14:30:13 +00:00
Laurent Saboret 1aad55d4cb Change CVS keywords to SVN style 2006-02-14 10:08:15 +00:00
Laurent Saboret 76603aad2b Move packages to trunk root 2006-02-14 08:58:19 +00:00