Skip to content

Wishlist - various plans & ideas - what do users want? #125

@tzaeschke

Description

@tzaeschke

At anyone reading this: please feel free to put suggestions & endorsements into comments below

Here are some assorted ideas / plans for the future:

API:

  • Think about providing find_navigable() / erase_navigable() that return truly iterable iterators. Probably not goping to happen, we have lower_bound() now.
  • Add performance_hints() that checks for various performance issues (and returns a list of <string, bool> checks. E.g.
    • Is the value trivially copyable or movable? (TBC)
    • Is the value "small" in size? -> Use pointer instead
    • Suggest using std::vector for high-dim keys (TBC)
  • self_join() function?
  • Check R-Tree (std std::...) direct access to nodes. What do people use it for? Should we provide it?
  • Similar to previous: Support custom data (and possibly functions) in nodes. Examples for functions + data would be to store aggregate information (total child count, total area of boxes, some kind of aggregate running on the values associated with keys...).

Internally:

  • Make std::vector the default key for high dimensions (verify the idea first). On hold: No benefit for DIM < 30 and only marginal (i.e. only for insertion but not query/kNN) above 30.
  • Make Entry & Node trivially copyable

Documentation:

  • Document prominently that PhPoint/Box are only "default" keys
  • Document more prominently that find/erase do not return real iterators
  • Provide example + documentation for multi-map

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesthelp wantedExtra attention is neededquestionFurther information is requested

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions