<p>This commit includes some larger structural changes:</p>

<ul>
<li>parse_t and parse_delegate_t removed, osm2pgsql now directly
creates a parse_osmium_t object</li>
<li>bbox class replaced with osmium::Box</li>
<li>code duplication in parse_stats_t cleaned up</li>
<li>add generic parse() function for tests, also to avoid code duplication</li>
</ul>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/openstreetmap/osm2pgsql/pull/497'>https://github.com/openstreetmap/osm2pgsql/pull/497</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>remove custom o5m parser in favour of libosmium parser</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-0">CMakeLists.txt</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-1">options.cpp</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-2">osm2pgsql.cpp</a>
    (18)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-3">parse-o5m.cpp</a>
    (934)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-4">parse-o5m.hpp</a>
    (42)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-5">parse-osmium.cpp</a>
    (133)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-6">parse-osmium.hpp</a>
    (111)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-7">parse.cpp</a>
    (143)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-8">parse.hpp</a>
    (144)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-9">tests/common.hpp</a>
    (22)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-10">tests/test-hstore-match-only.cpp</a>
    (14)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-11">tests/test-output-multi-line-storage.cpp</a>
    (12)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-12">tests/test-output-multi-line.cpp</a>
    (14)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-13">tests/test-output-multi-point-multi-table.cpp</a>
    (13)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-14">tests/test-output-multi-point.cpp</a>
    (13)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-15">tests/test-output-multi-poly-trivial.cpp</a>
    (12)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-16">tests/test-output-multi-polygon.cpp</a>
    (13)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-17">tests/test-output-multi-tags.cpp</a>
    (12)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-18">tests/test-output-pgsql-schema.cpp</a>
    (14)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-19">tests/test-output-pgsql-tablespace.cpp</a>
    (13)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-20">tests/test-output-pgsql-z_order.cpp</a>
    (13)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-21">tests/test-output-pgsql.cpp</a>
    (57)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/osm2pgsql/pull/497/files#diff-22">tests/test-parse-xml2.cpp</a>
    (4)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/openstreetmap/osm2pgsql/pull/497.patch'>https://github.com/openstreetmap/osm2pgsql/pull/497.patch</a></li>
  <li><a href='https://github.com/openstreetmap/osm2pgsql/pull/497.diff'>https://github.com/openstreetmap/osm2pgsql/pull/497.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href="https://github.com/openstreetmap/osm2pgsql/pull/497">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AD2-7j70vwsKo1J6vaZ68_JsAF572xGPks5pDSHdgaJpZM4Gdyfb.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/openstreetmap/osm2pgsql/pull/497"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>