Open
Description
Some possible improvements were mentioned in #877, but we did not have time to explore them before merging. I am listing some of them here (we won't implement all of them).
-
Simplex_handle
can be returned by value - It would be more convenient if the intrusive list could have a value_type of Dit_value_t, or anything closer to a Simplex_handle than a hook (at least a Node). It isn't obvious if that is directly possible since intrusive::list expects the hook to be a base or a member, not a member of a member. It would also be possible to have nodes_by_label return a transformed_range that does whatever conversion we want (say simplex_handle_from_node) so it would still be convenient to use.
- Simplex_tree_optimized_cofaces_rooted_subtrees_simplex_iterator looks like it could be replaced by a
filtered_range<is_coface, List_max_vertex>
- This BFS stores many
Siblings*
, it is perfectly possible to walk a tree without wasting as much memory (memory proportional to the depth should suffice). - Computing cofaces by filtering the star is a waste of time.
- The original paper had one linked list per vertex per dimension. For the star, putting everything together is good. For a coboundary, it is a waste of time.
- This line in the test seems bogus and should be removed?
Metadata
Metadata
Assignees
Labels
No labels