Commit Graph

62 Commits

Author SHA1 Message Date
Sébastien Loriot 3fa09693a3 Merge branch 'Mesh_3-compare_index-GF-old' into Mesh_3-compare_index-GF
Conflicts:
	Mesh_3/include/CGAL/Mesh_3/Detect_features_in_polyhedra.h
	Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h
	Mesh_3/include/CGAL/Mesh_polyhedron_3.h
	Mesh_3/test/Mesh_3/test_meshing_polylines_only.cpp
	STL_Extension/include/CGAL/Compact_container.h
	STL_Extension/test/STL_Extension/test_Compact_container.cpp
2014-05-21 18:24:17 +02:00
Sébastien Loriot 1bffc44ed4 factorize the mecanism to define the time stamper in a container 2014-05-21 16:30:32 +02:00
Sébastien Loriot 82f9a83e2d move the Time stamper into a separate file 2014-05-21 12:20:50 +02:00
Laurent Rineau bcdfdf5335 Cleanup trailing spaces 2014-04-16 15:42:46 +02:00
Laurent Rineau a2ef3c10f0 Change the name of timestamp policies 2014-04-16 12:36:40 +02:00
Laurent Rineau 1396d65b48 Test the time stamper policy in the testsuite 2014-04-16 12:34:30 +02:00
Laurent Rineau 28e60a5460 Cosmetic changes 2014-04-16 12:33:57 +02:00
Laurent Rineau 36e61bf091 Fix the implementation of CC_ts_impl_aux
CC_ts_impl_aux is the new name of CC_ts_impl_impl
2014-04-16 12:24:14 +02:00
Laurent Rineau cf3eee72ae Add comments 2014-04-16 12:22:49 +02:00
Laurent Rineau 75c61a687d New implementation of Has_timestamp 2014-04-15 18:07:23 +02:00
Jane Tournois 993541644c move Has_timestamp to STL_extension/include/CGAL directory
to avoid that Compact_container depends on Mesh_3
2014-03-27 13:57:47 +01:00
Laurent Rineau b54be0ee3c Update the copyright header 2014-03-25 16:42:23 +01:00
Jane Tournois 6af720cde8 remove useless typename(s) 2014-02-21 17:14:13 +01:00
Jane Tournois 9d19ac0f96 add a "less" function to CGAL_time_stamper
and handle null pointers given to comparison
it is necessary for example in Triangulation_3::remove_3D
2014-02-21 14:41:41 +01:00
Jane Tournois 22153ac273 make private the time_stamp_ variable
and add time_stamp() and set_time_stamp() methods everywhere
2014-02-20 16:18:49 +01:00
Jane Tournois 0740b3652f add class Has_timestamp not to modify the API of Compact_container
- use the Has_timestamp operator in Compact_container
- add partial specialization to classes that need the time stamp (i.e.
Mesh_vertex_base, Compact_mesh_cell_base_3 and Mesh_cell_base_3)
- remove "ts" from classes where they were actually needed for compilation
purpose only (i.e. Kd_tree_node and Triangulation_ds_cell_base_3)
- rename "ts" to time_stamp_
2014-02-20 15:53:36 +01:00
Jane Tournois b3eccc5905 determinism : add a template parameter to Compact_container
we add a template parameter to Compact_container that is able to
set and get the "time stamps" stored in Vertex_handle, Cell_handle etc.
We previously made sure that these pointers are always compared using
the operator< of CC_iterator, inside Compact_container.h
2014-02-18 17:25:50 +01:00
Jane Tournois 6db28ed43d move ts from Tds to Compact_container
Tds now is back to its original version (not different from master)
2014-02-14 17:15:33 +01:00
Andreas Fabri 83546c53b1 Add a time stamp in vertices and cells of triangulations and polyhedra
and use this for operator< of handles in order to make mesh generation
 deterministic
2014-02-13 19:46:34 +01:00
Clement Jamin c81531bc80 Oops, I removed a line by mistake 2013-12-20 15:11:36 +01:00
Clement Jamin 28c5fde142 Add an increment policy to the Compact_container, and an operator[] 2013-12-20 15:03:37 +01:00
Andreas Fabri 61298d3925 Fix memory leak in Compact_container::merge()
We forgot to merge all_items
2013-11-08 13:55:40 +01:00
Philipp Möller a9cdb27b78 Remove tautological precondition 2012-12-12 11:28:57 +01:00
Andreas Fabri cebb7314bc Fix for Windows 'min/max' bug 2012-01-18 11:05:35 +00:00
Sébastien Loriot 91a5327fa8 change LGPLv2 -> LGPLv3 2011-10-10 13:48:25 +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
Guillaume Damiand c283ac6689 Backport of modifs made in Linear_cell_complex-gdamiand branch. 2011-05-10 07:14:42 +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
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