Commit Graph

86 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé d6a950078a Further enhancements to the pmap binder's constructors 2021-10-20 15:07:34 +02:00
Mael Rouxel-Labbé 79fc493392 Add a default constructor to Property_map_binder
Needed for example if you need to default construct AABB traits
with external pmaps that are Property_map_binders
2021-10-19 16:08:30 +02: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é 07948c7066 Constify the 'operator[]' of non-mutable lvalue pmaps with 'put()'s 2021-10-11 12:02:22 +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
Maxime Gimeno 393ae7dae6 Clean-up boost_version reqs 2021-05-12 15:03:53 +02:00
Simon Giraudot 1794620ab9 Move index access property map to property map package 2021-04-01 09:43:14 +02:00
Laurent Rineau 38b45f79b1 Merge pull request #5468 from sloriot/CGAL-tiny_fixes
Mesh_3: various small bug-fixes
2021-03-03 17:29:37 +01:00
Laurent Rineau d4c331cd37 Merge pull request #5468 from sloriot/CGAL-tiny_fixes
Mesh_3: various small bug-fixes
2021-03-03 16:39:52 +01:00
Sébastien Loriot 05b4734a6e add missing const 2021-02-17 15:49:08 +01:00
Maxime Gimeno 3b70343590 Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2020-11-16 16:19:43 +01:00
Simon Giraudot 80a5deb8e9 Merge remote-tracking branch 'mine/Classification-Simpler_IO_for_ETHZ_Random_forest-GF' into Classification-Simpler_IO_for_ETHZ_Random_forest-GF 2020-10-19 07:59:47 +02:00
Mael Rouxel-Labbé f55ef7dd50 Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2020-10-09 18:36:17 +02:00
Sebastien Loriot 10ba34719e
Merge pull request #4728 from sloriot/PMP-cc_cleanup
Clean in connected components
2020-10-02 15:20:53 +02:00
Simon Giraudot 19004a7432 Merge remote-tracking branch 'mine/Classification-Simpler_IO_for_ETHZ_Random_forest-GF' into Classification-Simpler_IO_for_ETHZ_Random_forest-GF 2020-08-04 13:41:48 +02:00
Mael Rouxel-Labbé 580a1efd5c Remove trailing whitespace / tabs 2020-05-22 15:31:50 +02:00
Mael Rouxel-Labbé fb8463f470 Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2020-05-22 15:17:56 +02:00
Sébastien Loriot 2169dd52aa warnings + compilation fixes 2020-05-18 08:49:14 +02:00
Sébastien Loriot fbd9628307 add a static bool map and use it when possible
also remove Static_property_map that is a duplicate of Constant_property_map
2020-05-15 18:27:33 +02:00
Sébastien Loriot 2eab2f4472 add a property map returning a const bool at compile time 2020-05-15 18:06:35 +02:00
Maxime Gimeno 049439fa6b Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2020-04-30 16:47:58 +02:00
Simon Giraudot c1d8fb69b7 Move transform ranges in property_maps 2020-04-22 13:47:33 +02:00
Sébastien Loriot 2e180ac589 extra run of the script to remove tabs and trailing whitespaces 2020-03-26 19:29:44 +01:00
Simon Giraudot 0c23a65028 Add variant identity map read only without lvalue 2020-03-19 15:50:11 +01:00
Mael Rouxel-Labbé b1da380064 Rework Surface_mesh IO 2020-01-28 18:36:30 +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
Andreas Fabri e2d19b0c8d Replace NULL and Nullptr_t with nullptr and nullptr_t 2019-06-04 23:45:44 +02:00
Sébastien Loriot f62624c4f9 replace cpp11::tuple by std::tuple 2019-03-29 13:28:33 +01:00
Sébastien Loriot 82c13e6e74 remove cpp11 workaround in kernel related packages 2019-03-29 10:41:50 +01:00
Sébastien Loriot e925b1aba6 Merge pull request #3225 from maxGimeno/Demo-Remove_polyhedron_item-GF
Polyhedron demo: remove the Scene_polyhedron_item
2018-10-30 15:50:17 +01:00
Laurent Rineau 821f9c015e Merge pull request #3311 from sloriot/Doc-Pkg_link_name
Update the name of package names reference links
2018-10-29 10:27:53 +01:00
Maxime Gimeno 7a146d415c Fix conflicts 2018-10-09 15:30:21 +02:00
Sébastien Loriot 3dd0aa112d rename macro not following the convention 2018-10-08 10:28:55 +02:00
Sébastien Loriot a2e8a1c68f add the suffix Ref to doxygen link to reference 2018-10-08 10:26:56 +02:00
Mael Rouxel-Labbé 3b9464f549 Replaced No_constraint_pmap with Constant_property_map 2018-07-19 17:05:07 +02:00
Maxime Gimeno 5f7293f859 Finish removing polyhedorn 2018-07-12 10:18:50 +02:00
Sébastien Loriot e1e1512869 Merge 'PMP-isotropic_remeshing_user_projection' into PMP-isotropic_remeshing_user_projection 2018-06-06 18:00:32 +02:00
Laurent Rineau cb14375778
Merge branch 'master' into Property_map-Point_kernel_converter_map-GF 2018-05-29 10:58:28 +02:00
Laurent Rineau e86c3c4bba Merge pull request #3102 from afabri/Property_map-empty_vector-GF
Property_map: Fix make_property_map(std::vector&) for an empty vector
2018-05-28 13:58:47 +02:00
Andreas Fabri 6b8dd6beed Fix make_property_map(std::vector&) for an empty vector 2018-05-22 17:48:36 +02:00
Sébastien Loriot 90faf5d060 simplify initialization of CC 2018-05-18 14:10:31 +02:00
Sébastien Loriot 1e9669cec3 fix doc 2018-05-04 10:49:48 +02:00
Sébastien Loriot 8bc315c974 make it work with any Kernel object 2018-05-03 15:05:47 +02:00
Maxime Gimeno a7721389b2 Forward declare the Cartesian_converter to avoid messing with the dependencies tree. 2018-04-27 09:59:25 +02:00
Maxime Gimeno dbb4b9dc20 Fixes 2018-04-26 15:34:32 +02:00
Maxime Gimeno 7298214c57 Clean-up 2018-04-26 14:14:31 +02:00
Maxime Gimeno fbc7af1345 Add a property_map that converts points from a cartesian kernel to another, for a mesh. 2018-04-26 10:19:21 +02:00