Commit Graph

252 Commits

Author SHA1 Message Date
Philipp Möller a9cdb27b78 Remove tautological precondition 2012-12-12 11:28:57 +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
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
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
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
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 75378f55ce Merged ^/branches/next for the test-suite run. 2012-05-10 17:34:30 +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
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
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
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
Marc Glisse ab56912a06 s/static_assert/CGAL_static_assertion_msg/ 2011-08-08 16:48:34 +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