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