Laurent Rineau
378554e5a7
Change the API of `for_compact_container`/`Compact_container_traits`
...
Now, we have a proper pair of getter/setter, and the `void` pointer is
get by a `reinterpret_cast`, instead of a union.
Cc: @mglisse
2020-03-09 17:19:58 +01:00
Laurent Rineau
2717864bd7
Fix warnings cppcoreguidelines-special-member-functions (clang-tidy)
...
- Remove trivial copy-constructors that prevents the compiler to
generate the other special member functions.
2020-01-31 12:08:05 +01:00
Laurent Rineau
e82ea5de96
Add move-semantic to Compact_container
...
That required a refactoring the timestamper feature. And the
explanation why is quite long... Let's do it.
The CGAL triangulations use the `Rebind_TDS` feature. During the
instanciation of `Compact_container<T>` it is important that `T` is
allowed to be incomplete, otherwise the circular dependencies between
TDS and Vertex/Cell cannot be resolved by the compiler. In previous
implementation of the timestamper, to allow `T` to be an incomplete
type, the compact container only carried a *point* to the time
stamper, allocated on the heap. A moved-from compact container would
only be valid if one recreated a time stamper for it on the head in
the move-constructor. As I want move operations to be `noexcept`, I
needed to change that implementation. Now the triangulation always
carries a time stamp counter (`std::size`), independently of the type
`T`, and the time stamper is an empty class, with static methods. That
allows `T` to be incomplete during the declaration of
`Compact_container<T>`.
2020-01-31 11:29:55 +01:00
Laurent Rineau
e9f1cb405f
Improvement for set_size
2019-12-04 15:43:01 +01:00
Laurent Rineau
6cdd833e13
Merge branch 'DT_3-issue4388__for_CGAL-4.14.2-GF' into DT_3-issue4388-GF
2019-12-04 15:39:55 +01:00
Laurent Rineau
6ded244449
Merge branch 'DT_3-issue4388__for_CGAL-4.13.2-GF' into DT_3-issue4388__for_CGAL-4.14.2-GF
2019-12-04 15:32:07 +01:00
Laurent Rineau
3ade506eba
Create approximate_size() in Concurrent_compact_container
...
Instead of having an atomic integer for the size of the compact
container, now all free lists have an atomic integer for their size,
but it is only updated when the size is increased by 10%.
2019-12-04 15:20:52 +01:00
Laurent Rineau
4208951252
revert "Access to the "current" size of the compact container"
...
Reverts commit 2836828d61
2019-12-04 15:16:25 +01:00
Sébastien Loriot
52164b1fba
First pass on removing license notice in header for LGPL files
2019-10-19 15:40:30 +02:00
Sébastien Loriot
7356421d80
introduce Commercial license SPDX tag
2019-10-19 12:15:19 +02:00
Sébastien Loriot
9bd9c68b83
update LGPL[23]+ and GPL[23]+ SPDX tags
...
ack -l --no-svg "SPDX-License-Identifier: GPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-3.0+/SPDX-License-Identifier: GPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-3.0+/SPDX-License-Identifier: LGPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: GPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-2.0+/SPDX-License-Identifier: GPL-2.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-2.0+/SPDX-License-Identifier: LGPL-2.0-or-later/"
2019-10-18 21:57:54 +02:00
Sébastien Loriot
c0edb5ecaa
remove CGAL_CXX11 macro usage
2019-07-08 11:42:17 +02:00
Andreas Fabri
e2d19b0c8d
Replace NULL and Nullptr_t with nullptr and nullptr_t
2019-06-04 23:45:44 +02:00
Laurent Rineau
90782d4b7f
Revert the merge of two pull-requests that target CGAL-4.14-branch
...
- Revert "Merge pull request #3857 from MaelRL/CGAL-Fix_duplicate_non_manifold_vertices-GF"
- Revert "Merge pull request #3898 from lrineau/Mesh_3-stop_during_protection-lrineau"
2019-05-14 17:50:45 +02:00
Laurent Rineau
0341f602b3
Merge pull request #3896 from lrineau/fix-Wnull-pointer-arithmetic
...
Fix AppleClang -Wnull-pointer-arithmetic warning with TBB as well
2019-05-06 15:30:18 +02:00
Laurent Rineau
e3c717c293
Merge pull request #3896 from lrineau/fix-Wnull-pointer-arithmetic
...
Fix AppleClang -Wnull-pointer-arithmetic warning with TBB as well
2019-05-06 15:01:55 +02:00
Laurent Rineau
f34231dab6
Merge branch 'fix-Wnull-pointer-arithmetic' into Mesh_3-stop_during_protection-lrineau
2019-05-02 14:46:49 +02:00
Laurent Rineau
19527dc384
Fix AppleClang -Wnull-pointer-arithmetic warning with TBB as well
2019-05-02 14:36:26 +02:00
Sébastien Loriot
3cfbccd44a
remove workaround c++11 features in STL_extension
2019-03-29 10:41:49 +01:00
Laurent Rineau
3a8aee198d
Concurrent_compact_container uses Time_stamper
...
- and remove the `CCC_iterator`, in favor of a generic `CC_iterator`.
2018-10-03 17:34:38 +02:00
Laurent Rineau
ed034a53be
Fix Concurrent_compact_container::merge
...
The bug was detected by the testsuite.
2018-07-23 10:23:28 +02:00
Laurent Rineau
2836828d61
Access to the "current" size of the compact container
2018-07-18 18:47:15 +02:00
Laurent Rineau
c68cf8fc4c
Merge pull request #3129 from sgiraudot/Point_set_processing-Callbacks-GF
...
Point Set Processing: Callbacks
2018-06-27 10:21:40 +02:00
Mael Rouxel-Labbé
26c857a431
Moved unary/binary_function to CGAL::cpp98
2018-06-13 15:58:19 +02:00
Simon Giraudot
4b7f5bccc4
Only include needed TBB headers
2018-05-29 11:42:03 +02:00
Andreas Fabri
5bc6d78f7f
fixes in STL_Extension
2018-04-20 08:53:22 +01:00
Laurent Rineau
33d3abaf26
Fix compilation errors
2018-04-17 17:15:00 +02:00
Laurent Rineau
095c27e2be
cosmetic changes
2018-04-17 17:14:19 +02:00
Andreas Fabri
7cbffac35b
Deal with deprecated functions allocator<T>::construct/destroy
2018-04-17 13:35:04 +01:00
Andreas Fabri
303b0ab46e
Fix detection of CGAL_CXX11 for VC++ and fixes of usage of std::allocator_traits
2018-04-16 11:00:03 +01:00
Andreas Fabri
0cccc34cad
Use std::allocator_traits
2018-04-16 08:17:09 +01:00
Andreas Fabri
f4ec38e27c
STL_extensions
2018-01-18 14:15:21 +00:00
Sébastien Loriot
8cdfad0d08
add missing URL and Id tags
2017-11-15 22:58:57 +01:00
Sébastien Loriot
0698f79aff
add SPDX identifier for files under the LGPL-3+ license
2017-11-12 10:17:50 +01:00
Laurent Rineau
7e9f756935
Replace all std::unary_function by CGAL::unary_function
2017-10-04 15:57:09 +02:00
Andreas Fabri
2b43a79e0a
Add hashing to the concurent compact container
2015-10-05 10:15:24 +02:00
Sébastien Loriot
50595505c4
Merge branch 'Fix_warnings-GF'
...
Fixes warnings in various packages
Successfully tested in CGAL-4.7-Ic-87
Approved by the release Manager
2015-07-17 14:21:21 +02:00
Laurent Rineau
25df59411d
Merge branch 'releases/CGAL-4.6-branch'
...
Fix a miscompilation by clang-3.6.x
https://github.com/CGAL/cgal/pull/161
2015-07-15 17:02:02 +02:00
Sébastien Loriot
d26e112cf4
fix warnings
2015-07-15 16:57:38 +02:00
Laurent Rineau
17857e15d3
Same patch for <CGAL/Concurrent_compact_container.h>
...
Patch similar to the previous commit.
2015-07-15 11:33:51 +02:00
Guillaume Damiand
a0b569b83d
Remove asserts that avoir to increment/decrement iterators on removed elements.
2015-06-17 09:51:20 +02:00
Guillaume Damiand
a423368960
Add also is_used in Concurrent_compact_container to be consistent
2015-06-16 19:48:01 +02:00
Andreas Fabri
b1f4afbd33
Macros MUST be prefixed with CGAL_
...
-pedantic does not like extra semicolons
todo: cleanup: The macro is there twice.
2014-07-09 15:41:08 +02:00
Clement Jamin
f742be081b
Fix spaces
2014-07-08 15:40:29 +02:00
Clement Jamin
f7396790ff
Fix merge function
...
Fixes memory leaks, and maybe some other potential problems
2014-07-07 13:41:33 +02:00
Clement Jamin
c9c8335811
More code clean-up
2014-05-27 13:46:34 +02:00
Clement Jamin
de485dfc10
Use s_iterator_to and remove the constructor I had added temporarily
2014-05-23 17:17:16 +02:00
Clement Jamin
5d1eacf16f
rename get_erase_counter => erase_counter
...
And add it to the concept ObjectWithEraseCounter
2013-12-12 07:23:07 +01:00
Clement Jamin
5ff923bcfb
Bug fix: use the right namespace (CCC_internal)
2013-10-02 10:48:59 +02:00
Clement Jamin
2706cbfeff
Compact_container: erase counter strategy is now automatically deduced from T.
...
If the T::increment_erase_counter() function exists, then the erase counter
value will be updated by the Compact_container.
2013-09-30 18:25:41 +02:00