Commit Graph

153 Commits

Author SHA1 Message Date
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
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
Sébastien Loriot f4935dc199 Merge branch 'CGAL-Eigen3_support-5.1' 2021-01-15 10:54:02 +01:00
Sébastien Loriot eecb00534e fix macro name to be consistent with find_package 2021-01-15 10:43:34 +01:00
Maxime Gimeno 2ad4c16b6e Merge remote-tracking branch 'cgal/master' into Cmake_improvements-maxGimeno 2020-10-26 15:00:53 +01:00
Maxime Gimeno bebd60c12b Merge remote-tracking branch 'cgal/master' into Cmake_improvements-maxGimeno 2020-10-20 09:53:54 +02: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
Laurent Rineau 24bf8b791a Fix a maybe-uninitialized warning 2020-10-14 14:21:15 +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
Maxime Gimeno 9c15f2c9dc Use FeatureSummary in the demo, and remove CGAL_FOUND 2020-08-04 12:46:17 +02:00
Simon Giraudot 89285f1feb Merge remote-tracking branch 'mine/CMake-Third_party_imported_targets-GF' into CMake-Third_party_imported_targets-GF 2020-05-28 08:53:17 +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
Simon Giraudot c1d8fb69b7 Move transform ranges in property_maps 2020-04-22 13:47:33 +02:00
Simon Giraudot 421096fd7f Use imported targets everywhere 2020-04-15 14:06:13 +02:00
Sebastien Loriot 7a2754b538
Merge pull request #4584 from sgiraudot/Property_maps-Add_example-GF
[Small Feature] Custom Property Map Example
2020-04-07 08:20:40 +02:00
Sébastien Loriot 20d2770d3a extra run of the script to remove tabs and trailing whitespaces 2020-03-26 19:39:09 +01:00
Sébastien Loriot cf9629fc4b Update branch from master after trailing whitespaces and tabs removal 2020-03-26 19:38:52 +01:00
Sébastien Loriot 2e180ac589 extra run of the script to remove tabs and trailing whitespaces 2020-03-26 19:29:44 +01:00
Sébastien Loriot a0345b135c Update branch from master after trailing whitespaces and tabs removal 2020-03-26 19:29:05 +01:00
Sébastien Loriot 8bb22d5b2c extra run of the script to remove tabs and trailing whitespaces
right after the merge of the 5.0 release branch

+ manual fix of the files (indentation was changed in the meantime):
   * Spatial_sorting/include/CGAL/Multiscale_sort.h
   * Spatial_sorting/test/Spatial_sorting/test_multiscale.cpp
2020-03-26 14:26:59 +01:00
Sébastien Loriot 8b153fb495 Merge branch 'cgal/releases/CGAL-5.0-branch'
whitespace+tab removal, merged with option -Xignore-space-change
2020-03-26 14:22:32 +01: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 0a46621dc6 Merge branch 'cgal/releases/CGAL-4.14-branch'
whitespace+tab removal, merged with option -Xignore-all-space
2020-03-26 13:28:46 +01:00
Sébastien Loriot 590612a563 run the script to remove tabs and trailing whitespaces 2020-03-26 13:25:16 +01:00
Sébastien Loriot 2a13c8cbec Update from master 2020-03-20 09:05:58 +01:00
Simon Giraudot 0c23a65028 Add variant identity map read only without lvalue 2020-03-19 15:50:11 +01:00
Simon Giraudot de8abc5556 Do not use DEFINE 2020-03-19 15:05:50 +01:00
Simon Giraudot f7b72e6c05 Remove new/delete 2020-03-19 14:00:19 +01:00
Simon Giraudot 012fed5e44 Update property maps manual 2020-03-18 16:01:14 +01:00
Simon Giraudot 2e0de573dd Add custom property map example 2020-03-18 15:45:05 +01:00
Mael Rouxel-Labbé d6bbf2bb5f Fix implementation of initialized index map getters 2020-03-04 11:56:50 +01:00
Laurent Rineau 4f97bd5102 Fix dependencies 2019-10-31 14:46:34 +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
Laurent Rineau 4fbf00fb8a CMake>=3.13: opt for for new policies up to 3.15 2019-06-19 14:34:59 +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é 713f5a2d45 Resolve conflicts between master and 4.14-based branch that fixes manifoldness
Conflicts resulting from the switch to C++11 (BOOST_FOREACH disappearing etc.)
2019-05-07 10:34:16 +02:00
Sébastien Loriot 1fe5100239 fix dynamic map with index in the special case of bool 2019-04-30 09:43:32 +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
Andreas Fabri a472c24185 http:/www.boost.org -> https://www.bost.org 2019-03-20 08:59:22 +01:00
Laurent Rineau f5a8686cf3 Merge pull request #3439 from aboudev/VSA-lingjie
New package: Surface_mesh_approximation
2019-01-22 09:17:35 +01:00
Maxime Gimeno 2a49dfcb05 Fix conflict 2019-01-11 09:47:34 +01:00