Commit Graph

245 Commits

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