Sébastien Loriot
d4d2225801
boost::is_reference -> std::is_reference
2023-04-23 22:37:07 +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é
2331eb7cf4
Fix comment
2021-10-08 15:41: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
Mael Rouxel-Labbé
0d66e19361
IO documentation fixes
...
See @sloriot's review:
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Polgyon_soup_mesh_IO/2nd_round/Answer_to_review
(+ some commits before and after this one)
2020-07-24 17:06:00 +02:00
Mael Rouxel-Labbé
580a1efd5c
Remove trailing whitespace / tabs
2020-05-22 15:31:50 +02: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
Mael Rouxel-Labbé
c33e8b60d7
Merge remote-tracking branch 'maxgimeno/PMP-Default_pmap-maxGimeno' into CGAL_IO-maxGimeno
2020-03-17 09:33:19 +01:00
Mael Rouxel-Labbé
30d4754a04
Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno
2020-03-17 09:03:12 +01:00
Mael Rouxel-Labbé
bc84ca29a2
Remove obsolete comment
2020-03-09 10:18:43 +01:00
Mael Rouxel-Labbé
d6bbf2bb5f
Fix implementation of initialized index map getters
2020-03-04 11:56:50 +01:00
Mael Rouxel-Labbé
7e303f421f
Add 'Is_writable_property_map'
...
Note the following:
'lvalue_pmap_tag' is annoying, because the property map is allowed to be non-mutable,
but boost::lvalue_property_map_tag is !always! defined as:
struct lvalue_property_map_tag : public read_write_property_map_tag
so we can't just check that 'writable_property_map_tag' is a base of the the pmap's category.
Instead, this struct checks if the reference is non-const, which is not completely correct:
map[key] returning a non-const reference doesn't mean that 'put(map, key, val)' exists,
which is what a writable property map must define.
2020-03-04 09:02:13 +01:00
Maxime Gimeno
9a454ca7e2
Changes after review
2020-02-21 11:43:08 +01:00
Maxime Gimeno
077a129216
Merge remote-tracking branch 'cgal/master' into PMP-Default_pmap-maxGimeno
2020-02-21 10:34:14 +01:00
Maxime Gimeno
195d43bc5e
Fix conversion warning
2020-02-20 16:49:54 +01:00
Maxime Gimeno
cf6fec2bbb
move using
2020-02-18 16:36:05 +01:00
Maxime Gimeno
aeb44510f1
Fix doc about boost/CGAL property tags
2020-02-18 15:27:34 +01:00
Maxime Gimeno
9459df666d
fix after review
2020-02-18 11:26:09 +01:00
Maxime Gimeno
b9a8d50b66
add missing include
2020-02-17 11:18:42 +01:00
Maxime Gimeno
5538786eff
Merge remote-tracking branch 'cgal/master' into PMP-Default_pmap-maxGimeno
2020-02-14 15:00:54 +01:00
Laurent Rineau
141eed441c
Merge pull request #4508 from MaelRL/BGL-Fix_graph_has_property_doc-GF
...
BGL: fix doc of graph_has_property
2020-02-14 14:39:16 +01:00
Maxime Gimeno
249eb85060
fixes
2020-02-14 14:25:28 +01:00
Mael Rouxel-Labbé
754cf35342
Fix graph_has_property not showing up in documentation
...
Consequence of the doc being split between doc/CGAL and include/CGAL...
2020-02-07 16:11:22 +01:00
Mael Rouxel-Labbé
b4862c2361
Fix typo
2020-01-27 09:46:24 +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
d60f5645aa
replace BOOST_FOREACH by c++ ranged-based for loop
...
some of the command used for the replacement:
ack --cpp BOOST_FOREACH -l | xargs sed -i -E "s/BOOST_FOREACH\(([a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp BOOST_FOREACH -l | xargs sed -i -E "s/BOOST_FOREACH\((const [a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp BOOST_FOREACH -l | xargs sed -i -E "s/BOOST_FOREACH\((const typename [a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp BOOST_FOREACH -l | xargs sed -i -E "s/BOOST_FOREACH\((typename [<>a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack "boost/foreach.hpp" -l --cpp | xargs sed -i '/boost\/foreach.hpp>/d'
2019-03-29 13:22:15 +01:00
Sébastien Loriot
bfa9844b1a
make default vpm of mesh convertible to default vpm of const mesh
2018-10-09 10:28:45 +02:00
Laurent Rineau
237735ab73
Merge pull request #2946 from afabri/CGAL-dependencies-GF
...
Move properties from Mesh_3 to BGL, Polyhedron_3 and Surface_mesh
2018-03-27 10:35:23 +02:00
Andreas Fabri
b918ab4ba7
Move internal class from Polyhedron to BGL
2018-03-24 11:41:30 +01:00
Andreas Fabri
8c41669fb7
move properties from Mesh_3 to BGL, Polyhedron_3 and Surface_mesh
2018-03-22 16:37:37 +01:00
Maxime Gimeno
960025fb17
Replace or by and
2018-01-22 14:02:09 +01:00
Maxime Gimeno
c3215b9331
Move graph_has_property from namespace boost to namespace CGAL and provide some doc for it.
2018-01-22 12:43:29 +01: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
70b13af39c
Do not pollute the boost namespace
2017-07-12 12:11:34 +02:00
Andreas Fabri
886bd840cf
Make the dynamic property map an implementation detail
2017-07-11 20:32:23 +02:00
Andreas Fabri
be45f81fc8
Add support for halfedges
2017-07-11 20:31:27 +02:00
Andreas Fabri
4ff981de70
Add generic vertex/edge/face propertymap for Surface_mesh and OpenMesh
2017-07-11 20:31:27 +02:00
Sébastien Loriot
df886a0904
add missing include directive
2017-01-19 16:46:52 +01:00
Sébastien Loriot
3fa4abe869
move function to init index maps to BGL
2017-01-18 16:37:34 +01:00
Jane Tournois
73492e7767
add graph_has_property
...
a struct intended to check whether Graph has an internal property map
for the parameter tag `PropertyTag`
2016-09-22 12:05:51 +02:00
Sébastien Loriot
5c6b54257a
the XXX_is_border properties are removed + add missing replacement functions
2014-07-22 12:00:15 +02:00
Sébastien Loriot
0b8314e28d
the notion of border for a halfedge is not encoded using a property map
2014-07-21 22:30:14 +02:00
Andreas Fabri
3ad8f65d28
small fixes
2014-05-22 10:36:50 +02:00
Sébastien Loriot
91a5327fa8
change LGPLv2 -> LGPLv3
2011-10-10 13:48:25 +00:00
Sébastien Loriot
52317dd49f
add python script (replace_CGAL_NAMESPACE.py) to replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE
...
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
2010-06-09 07:37:13 +00:00
Laurent Rineau
a01063fb02
Merged revisions 54354,54363,54365,54380,54389-54390 via svnmerge from
...
svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.6-branch
........
r54354 | lrineau | 2010-03-01 09:23:05 +0100 (Mon, 01 Mar 2010) | 2 lines
Missing word!
........
r54363 | lrineau | 2010-03-01 11:35:39 +0100 (Mon, 01 Mar 2010) | 3 lines
Fix the issue with <boost/property_map.hpp>
<CGAL/property_map.h> checks for the Boost version.
........
r54365 | lrineau | 2010-03-01 14:01:18 +0100 (Mon, 01 Mar 2010) | 2 lines
Let's prepare CGAl-3.6 finale version, now.
........
r54380 | penarand | 2010-03-01 17:07:43 +0100 (Mon, 01 Mar 2010) | 3 lines
replaced macros reported by check_macro_names script
........
r54389 | lrineau | 2010-03-02 11:43:47 +0100 (Tue, 02 Mar 2010) | 3 lines
http://doc.qt.nokia.com/latest/ is the permanent URL to latest Qt version
documentation.
........
r54390 | lrineau | 2010-03-02 11:44:44 +0100 (Tue, 02 Mar 2010) | 2 lines
qpl.html no longer exists since Qt-4.4!
........
2010-03-02 15:21:52 +00:00
Andreas Fabri
96104c79c3
license headers are now all LGPL
2007-03-19 19:36:49 +00:00