Commit Graph

32 Commits

Author SHA1 Message Date
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 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 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 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
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 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
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
Sylvain Pion 5699aa2aca Add back the comparisons with NULL... they are needed. 2008-04-12 21:23:08 +00:00
Sylvain Pion 57904f1e25 Use boost::iterator_facade for the Compact_container's iterators. 2008-04-12 18:19:43 +00:00
Sylvain Pion 2b46416907 Remove more SUNPRO + RW's STL obsolete workarounds:
CGAL_CFG_SUNPRO_RWSTD (partially)
CGAL_reverse_iterator()
2008-01-03 15:04:30 +00:00
Sylvain Pion be95afcd9b Fix const-correctness issue. 2007-12-25 11:22:48 +00:00
Sylvain Pion ef3ba8a5ec variadic template fix 2007-12-24 13:30:24 +00:00
Sylvain Pion 2c25427164 - New class Default_argument that helps shrink error messages
and mangled names.
- Use it in Compact_container in place of Default_allocator
  which was playing the same role, but less generally.
2007-11-02 16:16:02 +00:00
Sylvain Pion ef264999b3 Renaming of Compact_container's construct_insert() to emplace() to match C++0x.
It breaks backward compat, but I doubt many people use Compact_container directly.
Make it use variadic templates, while at it.
2007-10-20 20:51:59 +00:00
Sylvain Pion 54b01bd44f Speed up the clear() function (and therefore the destructor), by allowing
the compiler to optimize away a complete walk over the container for
types with trivial destructors.
2007-06-08 22:35:58 +00:00
Sylvain Pion bea63ec2f6 formatting 2007-06-08 21:22:45 +00:00
Andreas Fabri 2fb18f532d Fixed min max problem 2006-07-31 22:31:49 +00:00
Marc Glisse f9e7d81429 Clean sunpro rwstd workaround by using reverse_iterator macro. 2006-02-25 23:25:27 +00:00
Ron Wein fdd566b269 Trying to fix the compilation warning we get from gcc 4.1 2006-02-23 13:08:30 +00:00
Marc Glisse 725dd1ff24 workaround for sunpro old stl, copied from vector.h 2006-02-22 16:44:00 +00:00
Laurent Saboret db6a8f948c Change CVS keywords to SVN style 2006-02-16 14:30:13 +00:00
Laurent Saboret 1aad55d4cb Change CVS keywords to SVN style 2006-02-14 10:08:15 +00:00
Laurent Saboret 76603aad2b Move packages to trunk root 2006-02-14 08:58:19 +00:00