Commit Graph

75 Commits

Author SHA1 Message Date
Laurent Rineau 59a0da4f13 Merge pull request #5692 from maxGimeno/CGAL_cpp11_atomic_and_threads-maxGimeno
CGAL:: Use std atomic and threads

# Conflicts:
#	Arrangement_on_surface_2/include/CGAL/Arr_counting_traits_2.h
2021-05-19 17:23:53 +02:00
Maxime Gimeno e9b7595fff Deprecate CGAL headers for threads, atomic and result_of, and move their content to config.h as fallback 2021-05-07 11:09:24 +02:00
Guillaume Damiand 086a09991f Add index method in concurrent compact container (to have same API for CC and CCC) 2020-10-22 10:29:57 +02:00
Laurent Rineau e0b2bc6235 Merge pull request #4798 from maxGimeno/STL_Extension-Fix_compact_container-GF
Fix unknown behavior that changed in Visual 2019
2020-06-23 18:49:49 +02:00
Maxime Gimeno 83fed40f0b Fix unknown behavior that changed in Visual 2019 2020-06-19 14:45:32 +02:00
Laurent Rineau 871c97273a Merge pull request #4496 from lrineau/CGAL-move_semantic_for_triangulations-GF
Add move-semantic to Compact_container and Triangulations
2020-06-03 16:23:22 +02:00
Marc Glisse f3d5a573df Use allocator_traits for destroy 2020-05-21 11:52:21 +02:00
Sébastien Loriot d1a323c730 extra run of the script to remove tabs and trailing whitespaces 2020-03-26 19:24:14 +01:00
Sébastien Loriot 0779373835 extra run of the script to remove tabs and trailing whitespaces
right after the  merge of 4.14 release branch

+ manual fix on one line in:
    * Arrangement_on_surface_2/include/CGAL/IO/Arr_text_formatter.h
    * .travis/generate_travis.sh
2020-03-26 14:16:06 +01:00
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