mirror of https://github.com/CGAL/cgal
- 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... |
||
|---|---|---|
| .. | ||
| IO | ||
| OpenGR | ||
| Point_set_processing_3/internal | ||
| pointmatcher | ||
| Point_with_normal_3.h | ||
| bilateral_smooth_point_set.h | ||
| cluster_point_set.h | ||
| compute_average_spacing.h | ||
| edge_aware_upsample_point_set.h | ||
| estimate_scale.h | ||
| grid_simplify_point_set.h | ||
| hierarchy_simplify_point_set.h | ||
| jet_estimate_normals.h | ||
| jet_smooth_point_set.h | ||
| mst_orient_normals.h | ||
| pca_estimate_normals.h | ||
| point_set_processing_assertions.h | ||
| radial_orient_normals.h | ||
| random_simplify_point_set.h | ||
| remove_outliers.h | ||
| scanline_orient_normals.h | ||
| structure_point_set.h | ||
| vcm_estimate_edges.h | ||
| vcm_estimate_normals.h | ||
| wlop_simplify_and_regularize_point_set.h | ||