I attempted to implement fix for osmcode/pyosmium#66 but I'm missing few constructs in libosmium.
- Factory methods for
Multimaps. There are few approaches that I considered, but neither is without drawbacks:
- just copy&paste most of
MapFactory to Multimap
- create generic
MapFactory that can register and create both Map and Multimap by extending the template with one more argument, but this will break backward compatibility
- create generic
MapFactory as a "meta-template", and create separate factories for Map and MultiMap
-
Multimap interface doesn't specify get_all method (not all implementing classes implement this) so there is no way to retrieve data using Multimap interface, user would have to bind to specific implementation
-
(probably not that important) Multimap and Map miss iterator, begin, end triple to make it easy to expose a way to iterate through the (key, value) pairs
-
multimap/all.hpp is missing multimap/hybrid.hpp #include
I attempted to implement fix for osmcode/pyosmium#66 but I'm missing few constructs in libosmium.
Multimaps. There are few approaches that I considered, but neither is without drawbacks:MapFactoryto MultimapMapFactorythat can register and create bothMapandMultimapby extending the template with one more argument, but this will break backward compatibilityMapFactoryas a "meta-template", and create separate factories forMapandMultiMapMultimapinterface doesn't specifyget_allmethod (not all implementing classes implement this) so there is no way to retrieve data usingMultimapinterface, user would have to bind to specific implementation(probably not that important)
MultimapandMapmissiterator,begin,endtriple to make it easy to expose a way to iterate through the (key, value) pairsmultimap/all.hppis missingmultimap/hybrid.hpp#include