Jane Tournois
0ab9d3eebf
Merge remote-tracking branch 'cgal/master' into Triangulation_3-CDT_3-lrineau
...
# Conflicts:
# Installation/CHANGES.md
2025-06-10 11:18:38 +02:00
Sébastien Loriot
503b259c71
fix warning: avoid copy
2025-06-02 19:19:42 +02:00
Laurent Rineau
8145708ae5
Merge remote-tracking branch 'cgal/6.0.x-branch'
...
Conflicts:
STL_Extension/include/CGAL/Compact_container.h
STL_Extension/include/CGAL/Concurrent_compact_container.h
2025-05-30 12:27:15 +02:00
Sébastien Loriot
2148806957
workaround possible optimisation that would alter the value of the erase_counter
...
The code is still not legal but works in practise.
fix similar to 5853673267
2025-05-21 08:41:25 +02:00
Laurent Rineau
4b029e69bd
Merge branch 'CGAL:master' into Triangulation_3-CDT_3-lrineau
2025-05-13 17:14:39 +02:00
Laurent Rineau
fa7a62bd69
fix static_assert(std::is_nothrow_move_assignable<CDT_plus_2>
2025-04-29 11:52:40 +02:00
Sébastien Loriot
93e8257255
workaround possible optimisation that would alter the value of the erase_counter
...
The code is still not legal but works in practise.
fix similar to 5853673267
2025-04-03 12:16:27 +02:00
Laurent Rineau
fa83d0bd45
fix Compact_container::reserve, with timestamps
2025-02-10 18:07:32 +01:00
Laurent Rineau
45da3684ba
Bug with Linear_cell_complex
...
One cannot call `std::allocator_traits<Alloc>::construct`, because some of linear cell complex classes have protected constructors with a lot of friend classes. They cannot be friend of all possible allocator classes, so...
2025-01-31 19:19:45 +01:00
Laurent Rineau
5853673267
fix the concurrent compact container with timestamps
2025-01-31 18:07:59 +01:00
Laurent Rineau
0c0b22ba92
add tests and assertions for the timestamper
2024-05-23 16:35:54 +02:00
Laurent Rineau
6160887748
fix warning
...
```
include\CGAL/Compact_container.h(443): warning C4101: 'ts': unreferenced local variable
```
https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-6.0-Ic-248/Minkowski_sum_2/TestReport_Christo_MSVC2017-Debug-64bits.gz
2024-05-22 12:22:56 +02:00
Andreas Fabri
ffc5541ce7
CGAL_USE
2024-05-13 10:50:50 +01:00
Laurent Rineau
d9d5a02375
fix CC time_stamper
2024-04-26 16:39:01 +02:00
Laurent Rineau
33c3d22bf8
simpler timestamp system
2024-04-26 16:36:39 +02:00
Laurent Rineau
ec1d97bea9
fix the timestamp system
2024-04-26 16:36:39 +02:00
Laurent Rineau
ce58f38b76
move With_point_and_info_tag to Compact_container.h
2024-04-26 16:36:33 +02:00
Laurent Rineau
4d95e4c987
fix a compilation error with C++<20
2024-04-26 16:35:21 +02:00
Laurent Rineau
11402dfeb9
Add With_offset_tag
2024-04-26 16:35:14 +02:00
Laurent Rineau
4c75012cca
oformat(x, tag) passed the tag value to the Output_rep
...
That allows to pass an integral offset to the displayed time stamps.
The goal is to set it to -1, to display vertices IDs that are identical
to the input vertices indices of the `Surface_mesh``.
2024-04-26 13:29:31 +02:00
Laurent Rineau
98f1e53020
Improve I/O
...
- `IO::oformat` can display triangulations vertex handles
with point, using `With_point_tag{}` as second argument,
- improve the compatibility with C++20 `<format>`: now the precision
can be specified in the format string.
Backport: master
2024-04-26 12:05:08 +02:00
Sébastien Loriot
8700394122
boost::mpl::if_ -> std::conditional
2023-09-24 22:57:20 +02:00
Laurent Rineau
e8d1095526
Use Output_rep to display debug info
2023-02-06 10:00:58 +01:00
Andreas Fabri
8ddf7848a0
forward call instead of duplicated code
2022-11-30 10:03:45 +00:00
Andreas Fabri
699454ae84
STL Extensions: Correct spelling
2022-11-29 13:22:00 +00:00
Sébastien Loriot
4f5f8341cc
use std::enable_if_t
2022-06-10 07:37:53 +02:00
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