Sébastien Loriot
e7b8a4eb17
Merge pull request #8523 from lrineau/CGAL_CGAL-protect_against_macro_free-GF
...
protect CGAL against macro `free`
2024-10-18 18:00:37 +02:00
Andreas Fabri
42488c7876
free -> freelist; Comment define of _CRTDBG_MAP_ALLOC
2024-10-09 14:44:32 +01:00
Andreas Fabri
98d4690da7
Fix in Unique_hash_map
2024-10-09 13:45:26 +01:00
Sébastien Loriot
1ca47bdabf
add missing include directive
2024-10-04 16:09:54 +02:00
Laurent Rineau
cb933b1391
make Unique_hash_map movable
2024-04-26 14:42:36 +02:00
Sébastien Loriot
4334028e15
add missing include directive
2022-05-03 18:10:39 +02:00
Sébastien Loriot
cf369920a5
use prefix increment
2022-04-07 11:37:32 +02:00
Sébastien Loriot
b3a654ebfe
remove unused variable
2022-04-07 09:09:10 +02:00
Sébastien Loriot
3207dfedbc
move file to internal
2022-04-06 16:07:16 +02:00
Sébastien Loriot
ea3c6072ae
rename variable
2022-04-06 14:56:13 +02:00
Sébastien Loriot
601b65cad2
use only one typedef
2022-04-06 13:36:39 +02:00
Sébastien Loriot
8c48ef4bfd
fix order
2022-04-06 13:16:14 +02:00
Sébastien Loriot
c27c162950
remove useless function
...
even worse some useless cleaning was done before deallocation
2022-04-06 12:08:14 +02:00
Sébastien Loriot
e059d68e94
use the first element in the table
...
before 0 was used as a sentinel for checking if an element
was used, so table[0] could not be used.
2022-04-06 12:02:12 +02:00
Sébastien Loriot
157658848b
remove tss variable
...
@afabri we must check with a benchmark if it does not penalize too much the code
2022-04-06 11:52:21 +02:00
Sébastien Loriot
14c9edb6b0
add reserve when inserting a range
2022-04-06 11:38:16 +02:00
Sébastien Loriot
b8782cae39
make Unique_hash_map lookup thread safe
...
STOP.k was used in lookup
2022-04-06 11:24:24 +02:00
Sébastien Loriot
72f3cd282d
use inline initialization
2022-04-06 11:14:50 +02:00
Sébastien Loriot
dfadf57c8e
remove unused functions
2022-04-06 11:13:24 +02:00
Sébastien Loriot
a20c807e4e
remove old_ data members
...
they are now only used locally during the call to rehash()
The only goal was the usage of old_index which seems not
needed anymore
2022-04-06 11:08:41 +02:00
Andreas Fabri
d9d85fbe3c
Move member variable position in initializer list
2022-03-18 09:08:38 +01:00
Giles Bathgate
16bed97ec5
Remove sizing of hash tables in copy constructors, size just grows
2022-03-17 20:21:12 +00:00
Giles Bathgate
933604b1e6
Init hashtable size in SNC_structure
2022-03-11 21:27:32 +00:00
Giles Bathgate
d7be0897d1
Add reserve method to chained_map/Unique_hash_map
2022-03-10 18:24:07 +00:00
Giles Bathgate
c12b42bb5e
Initalise table on first access
2022-03-10 18:24:07 +00:00
Giles Bathgate
7d0d6a06be
Use minimum size of 32, default size 512
2022-03-10 18:24:07 +00:00
Mael Rouxel-Labbé
8166579e55
Merge branch 'PM-Fix_pmaps_reference_types-GF' into PM-Fix_pmaps_reference_types_master-GF
2021-10-11 19:58:07 +02:00
Mael Rouxel-Labbé
590ddf8015
Various fixes for pmaps:
...
- Use `value_type` when the returned type is not a reference
- Enforce `reference = value_type` if the returned type is not
a reference (to avoid `typename PM::reference r = get(m, k)`,
which will take a ref to a temporary if the `reference`
typedef is an actualy reference)
- Do not use `put_get_helper` if the property map is not a `lvalue`
**mutable** property map: the `put()` is `map[k] = v`, which
is broken if `operator[]` does not return a reference
- The concept `boost::lvalue_property_map_tag` requires `operator[](key)`,
not a reference in `get(map, key)`. You can have a readable property map
returning a reference through its `get(map, key)`, but if there is
no `operator[]`, it's just a `boost::readable_property_map_tag`
- Some const correctness to avoid copying maps with state
or heavy keys in `get(map, key)` / `put(map, key, value)`
- Base the category of a wrapping pmap on what it offers instead
of just forwarding the base property map's category
- Tried to do something like mutable lvalue pmap:
* `value_type& operator[](key&)`
* `ref get(map, const key&)`
* `put(map, const key&, const value_type&)`
and non-mutable lvalue pmap:
* `const value_type& operator[](const key&)`
* `ref get(map, const key&)`
but not everything fits properly...
2021-10-08 15:38:47 +02:00
Mael Rouxel-Labbé
df560987a6
Whitespace & cleaning changes
2021-10-08 12:13:43 +02:00
Sébastien Loriot
cec93d0c9f
special case for pointers
2021-05-27 14:36:55 +02:00
Sébastien Loriot
18ca811f7f
hash value of handles use directly the address of the node
2021-05-27 12:36:17 +02: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
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
4581f1b7a8
Morte replacements
2019-06-05 08:39:55 +02:00
Andreas Fabri
c5cbd4a480
Fix typo; Remove unused typedef
2018-04-18 07:59:57 +01:00
Laurent Rineau
095c27e2be
cosmetic changes
2018-04-17 17:14:19 +02:00
Andreas Fabri
97ac4d5f51
Exploit that construct is variadic
2018-04-17 14:15:07 +01:00
Andreas Fabri
7cbffac35b
Deal with deprecated functions allocator<T>::construct/destroy
2018-04-17 13:35:04 +01:00
Andreas Fabri
c493359b62
Convex_hull_3
2018-01-18 10:11:33 +00:00
Sébastien Loriot
0698f79aff
add SPDX identifier for files under the LGPL-3+ license
2017-11-12 10:17:50 +01:00
Andreas Fabri
e26e60dd6c
Add Default to Convex_hull_graph_traits_3; BGLize some code
2016-11-22 12:27:18 +01:00
Mael Rouxel-Labbé
3016548bad
Fix the specialization of Boost's assoc_pmap using CGAL::Unique_hash_map
...
The default template parameters of the hash map were taken.
2016-10-24 10:32:05 +02:00
Mael Rouxel-Labbé
0f97115ce8
Polish
2016-10-24 10:31:53 +02:00
Sébastien Loriot
f32b291f0b
improve specialization of boost::associative_property_map for Unique_hash_map
2016-10-24 10:23:11 +02:00
Laurent Rineau
1aefb3b0f3
include <CGAL/config.h>, not <CGAL/basic.h>
2016-09-30 15:23:14 +02:00
Laurent Rineau
51f5697d3d
Add missing #include
2016-09-30 15:23:14 +02:00
Sébastien Loriot
cdec3d6414
make the edge_descriptor of Polyhedron hashable
2014-07-23 08:20:16 +02:00