
Rene Rivera wrote:
Johan Råde wrote:
There will be no ranks and no trees visible through the public interface of the class.
Why not? It is perfectly useful information in some algorithms and use cases. Specifically that information is why I wrote the my implementation. It allows bidirectional mapping of the index and value (through the iterator).
The name of a class should reflect its interface and its observable behaviour, and not its implementation.
Yes. But you are limiting the implementation to reflect your use case.
OK. If the interface exposes the tree internals, then the name is fine. I assumed the class would have an interface similar to the interfaces of vector and list. Maybe I was wrong. Anyway, the class seems like an excellent idea.