void operator() (geometry_collection<T> const& c1, geometry_collection<T> const& c2) const { if (c1.size() != c2.size()) { REQUIRE(false); } for (auto const& g : zip_crange(c1, c2)) { assert_g_equal(g.template get<0>(),g.template get<1>()); } }
geometry_collection<T> reproject_internal(geometry_collection<T> const & c, proj_transform const& proj_trans, unsigned int & n_err) { geometry_collection<T> new_c; new_c.reserve(c.size()); for (auto const& g : c) { geometry<T> new_g = reproject_copy(g, proj_trans, n_err); if (!new_g.template is<geometry_empty>()) { new_c.emplace_back(std::move(new_g)); } } return new_c; }