Commit Graph

447 Commits

Author SHA1 Message Date
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