Commit Graph

19 Commits

Author SHA1 Message Date
Sébastien Loriot c99b69a0e7 add missing license headers 2024-01-04 13:50:15 +01:00
Sébastien Loriot e7c26349f2 move header in a package to GPL 2024-01-04 13:36:34 +01:00
Andreas Fabri c7eb4f9fdd Deal with prev() for graph_traits<T2>::iterator 2023-06-27 13:33:48 +01:00
Mael Rouxel-Labbé 129f427d93 Move TDS2's graph traits into the TDS2 package 2021-12-16 13:48:01 +01: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
Sébastien Loriot a8f9858099 Merge remote-tracking branch 'cgal/releases/CGAL-5.0-branch' 2020-04-16 16:29:55 +02:00
Sébastien Loriot 09039464ef restrict partial specialization to avoid grab everything 2020-03-17 17:53:21 +01:00
Mael Rouxel-Labbé 3667550e75 Rename new triangulation IDs initializing functions
To look more like the existing function set_halfedgeDS_items_id()
2020-03-04 12:54:56 +01:00
Mael Rouxel-Labbé d3feda1650 Update IDs getter for triangulation edge / halfedges 2020-03-04 12:06:29 +01:00
Mael Rouxel-Labbé 17f97fc460 Add a function to initialize triangulation IDs 2020-03-04 12:06:19 +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
Mael Rouxel-Labbé a189e82686 Cache a descriptor within the iterators so operator*() can return a reference 2019-06-14 10:47:20 +02:00
Mael Rouxel-Labbé 0ea40f7602 Add missing 'const' in conversion operator 2019-06-14 10:46:46 +02:00
Mael Rouxel-Labbé 9abef28840 Add missing operator< for T2 edge descriptors
and removed useless comparators
2019-04-29 16:05:51 +02:00
Mael Rouxel-Labbé a03701d2b7 Fix key type in generic 2D triangulation BGL properties 2019-04-29 15:44:51 +02:00
Mael Rouxel-Labbé 9cba48acfe Fixed TDS graph traits implementation and factorized some parts with other T2 GT 2019-04-29 13:22:45 +02:00
Mael Rouxel-Labbé 64d7747f8b Moved factorized 2D graph traits to /internal 2019-04-29 13:21:46 +02:00