Commit Graph

158 Commits

Author SHA1 Message Date
Andreas Fabri 440a8dfb7b Fix file name 2022-02-03 08:41:04 +00:00
Andreas Fabri 735752bec9 Do the remaining changes after Laurent's check 2022-02-03 08:02:11 +00:00
Laurent Rineau e683686055 Merge pull request #6094 from sloriot/AOS_2-remove_fast_pool_allocator
Fix issues with new containers for arrangement cells

# Conflicts:
#	Arrangement_on_surface_2/include/CGAL/Arr_dcel_base.h
2021-11-18 12:31:39 +01:00
Sébastien Loriot 9ad2991483 same change for CCC 2021-11-04 16:27:05 +01:00
Sébastien Loriot 4788732815 speed up begin() in case the container is empty but freelist is not 2021-11-04 15:16:22 +01:00
Andreas Fabri 15d788ef29 Remove commented code section which contains a call to memset() 2021-09-23 16:57:34 +02:00
Simon Giraudot 3448035fc6 Fix CC_iterator by making constructor from pointer explicit 2021-03-24 08:25:29 +01:00
Simon Giraudot 80e99153dc Use Compact Container in DCEL base instead of in place list 2021-01-28 10:30:55 +01: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
Laurent Rineau 14b18f81ee Merge pull request #4735 from lrineau/Triangulation_2-fix_CDT_2_degenerate_case-GF
Fix a bug in <CGAL/Constrained_triangulation_2.h>
2020-05-27 16:33:21 +02:00
Laurent Rineau 0ea385712f Fix compatibility with C++03 2020-05-22 14:52:18 +02:00
Laurent Rineau dcc4fb1cc1 Merge remote-tracking branch 'cgal/master' into CGAL-move_semantic_for_triangulations-GF
# Conflicts:
#	STL_Extension/include/CGAL/Compact_container.h
2020-05-20 09:46:26 +02:00
Laurent Rineau fcc5ccca53 Merge pull request #4669 from gdamiand/CGAL_warning-gdamiand
Remove "unused-but-set-parameter" warnings
2020-05-18 12:24:44 +02:00
Sébastien Loriot c5af2b25f3 Merge remote-tracking branch 'cgal/releases/CGAL-5.0-branch' 2020-04-22 13:27:29 +02:00
Sébastien Loriot 157bdbda08 Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch' 2020-04-22 13:26:52 +02:00
Guillaume Damiand 74d89220e2 Remove warnings 2020-04-20 15:25:40 +02:00
Jeff Trull 8b21a67508 Forward declare class template Instead of including a new header 2020-04-07 14:50:17 -07:00
Jeff Trull 905dabc3a2 Fix reference-to-null-pointer UB
Hash compact_container iterators directly from their underlying
pointers, rather than taking the address of their dereferenced objects
2020-04-07 14:47:58 -07:00
Laurent Rineau 1eba82246e Rule of zero for CC_iterator
This commit is the one fixing the mis-compilation by MSVC 2015.
2020-03-09 17:35:52 +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 e3d7f7946d CC_iterator(CC_iterator&&) is now `= default`
That fixes a segmentation fault with Visual Studio in Skin Surface
Meshing.
2020-02-28 14:01:54 +01:00
Laurent Rineau 0c40f7a458 "Fix" for dumb MSVC compilers
https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-5.1-Ic-77/Triangulation_2/TestReport_afabri_x64_Cygwin-Windows10_MSVC2015-Debug-64bits.gz

My guess is that the compiler short-circuits `Const &&` when the
argument `Const` is `false`, and then the expression `Const &&
!OtherConst` is no-longer dependent on the argument `OtherConst`.

That "fix" just turn `Const &&  !OtherConst` to `!OtherConst && Const`.
2020-02-19 16:27:10 +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 65cde3ce79
Merge branch 'master' into Faster_dd_spatial_searching-cjamin 2019-12-03 19:18:15 +01:00
Simon Giraudot c43c6ac2fa Merge remote-tracking branch 'clement/Faster_dd_spatial_searching-cjamin' into Faster_dd_spatial_searching-cjamin 2019-10-22 13:21:53 +02: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
Simon Giraudot b2e723b548 Merge branch 'Faster_dd_spatial_searching-cjamin-backup' into Faster_dd_spatial_searching-cjamin 2019-07-04 13:17:50 +02:00
Andreas Fabri 5532b84b4f nullptr_t -> std::nullptr_t 2019-06-05 07:28:56 +02:00
Andreas Fabri e2d19b0c8d Replace NULL and Nullptr_t with nullptr and nullptr_t 2019-06-04 23:45:44 +02:00
Mael Rouxel-Labbé 2848158354 Fix typos 2019-05-20 08:54:04 +02:00
Laurent Rineau 04bef2b071 Merge pull request #3781 from sloriot/CGAL-update_for_cpp14
Update for cpp14
2019-04-08 15:59:28 +02:00
Laurent Rineau 68f321c58d Merge branch 'releases/CGAL-4.13-branch' into releases/CGAL-4.14-branch 2019-04-08 15:58:27 +02:00
Laurent Rineau 34cf27b47e Use std::ptrdiff_t, because the target branch is not C++11
`std::uintptr_t` was introduced by C++11, but the target branch if
CGAL-4.13-branch, does not require C++11.
2019-04-03 14:56:21 +02:00
Laurent Rineau 68f6ebf42d More reinterpret_cast to avoid undefined behavior 2019-04-03 14:52:12 +02:00
Laurent Rineau c54e7c974b Fix AppleClang -Wnull-pointer-arithmetic warning 2019-04-02 10:29:01 +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
Mael Rouxel-Labbé 26c857a431 Moved unary/binary_function to CGAL::cpp98 2018-06-13 15:58:19 +02:00
Andreas Fabri 5bc6d78f7f fixes in STL_Extension 2018-04-20 08:53:22 +01:00
Andreas Fabri f0c1d3aab7 more allocator_traits 2018-04-19 14:49:05 +01: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 6c791f161a Triangulation_2 2018-01-17 16:12:12 +00:00
Clement Jamin 8d71d73dc8 Merge remote-tracking branch 'remotes/cgal/master' into Faster_dd_spatial_searching-cjamin 2017-11-17 10:41:54 +01:00
Sébastien Loriot 0698f79aff add SPDX identifier for files under the LGPL-3+ license 2017-11-12 10:17:50 +01:00