Commit Graph

16 Commits

Author SHA1 Message Date
Sébastien Loriot 8700394122 boost::mpl::if_ -> std::conditional 2023-09-24 22:57:20 +02:00
Sébastien Loriot a04035879d boost::is_const -> std::is_const 2023-04-23 22:37:07 +02:00
Sébastien Loriot 61834d5a26 boost::remove_const -> std::remove_const_t 2023-04-23 19:07:54 +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 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 4581f1b7a8 Morte replacements 2019-06-05 08:39:55 +02:00
Sébastien Loriot eb8e5e5b35 change the Id in the base class + update pmaps to handle also pairs 2018-10-09 14:15:26 +02:00
Sébastien Loriot 8cdfad0d08 add missing URL and Id tags 2017-11-15 22:58:57 +01:00
Sébastien Loriot 0698f79aff add SPDX identifier for files under the LGPL-3+ license 2017-11-12 10:17:50 +01:00
Maxime Gimeno 4387629e61 Use templated functions to make Mesh_segmentation_plugin work with SM_items 2017-07-10 15:34:57 +02:00
Maxime Gimeno cf0d78da34 Use const references in the generators instead of simple references. 2016-09-28 10:59:11 +02:00
Sébastien Loriot b899dc4549 add default parameters 2016-09-28 10:46:42 +02:00
Sébastien Loriot e2f7efa58a clean up 2016-09-28 10:45:45 +02:00