[Tile-serving] [osm2pgsql-dev/osm2pgsql] Refactor idlist (PR #2151)

Jochen Topf notifications at github.com
Fri Mar 29 08:45:49 UTC 2024


Refactor code that handles lists of ids. The old code used two datastructures, `idlist_t` which derives from the `std::vector` class and `osmium::index::IdSetSmall<osmid_t>`. The new code now only has one clean `idlist_t` class, which means there is less copying around of data.
You can view, comment on, or merge this pull request online at:

  https://github.com/osm2pgsql-dev/osm2pgsql/pull/2151

-- Commit Summary --

  * Move idlist_t into its own header file
  * Make osmid_t a real class
  * Refactor: Use idlist_t instead of osmium::index::IdSetSmall<osmid_t>
  * Remove unnecessary copy of idlist
  * Replace set_diff function by something a bit more sensible
  * Remove potentially expensive copy operator from idlist_t
  * Remove unused binary search function
  * Documentation and various code cleanups

-- File Changes --

    M src/CMakeLists.txt (1)
    M src/dependency-manager.cpp (44)
    M src/dependency-manager.hpp (33)
    A src/idlist.cpp (54)
    A src/idlist.hpp (107)
    M src/middle-pgsql.cpp (21)
    M src/middle-pgsql.hpp (12)
    M src/middle.hpp (15)
    M src/osmdata.cpp (5)
    M src/osmdata.hpp (1)
    M src/osmtypes.hpp (17)
    M src/output-flex.cpp (4)
    M src/output-flex.hpp (8)
    M src/output.hpp (8)
    M src/pgsql-helper.cpp (3)
    M src/pgsql-helper.hpp (1)
    M tests/common-buffer.hpp (1)
    M tests/test-middle.cpp (10)

-- Patch Links --

https://github.com/osm2pgsql-dev/osm2pgsql/pull/2151.patch
https://github.com/osm2pgsql-dev/osm2pgsql/pull/2151.diff

-- 
Reply to this email directly or view it on GitHub:
https://github.com/osm2pgsql-dev/osm2pgsql/pull/2151
You are receiving this because you are subscribed to this thread.

Message ID: <osm2pgsql-dev/osm2pgsql/pull/2151 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/tile-serving/attachments/20240329/be7a426e/attachment-0001.htm>


More information about the Tile-serving mailing list