void operator() (multi_line_string<T> const& mls1, multi_line_string<T> const& mls2) const { if (mls1.size() != mls2.size()) { REQUIRE(false); } for (auto const& ls : zip_crange(mls1, mls2)) { (*this)(ls.template get<0>(),ls.template get<1>()); } }
multi_line_string<T> reproject_internal(multi_line_string<T> const & mls, proj_transform const& proj_trans, unsigned int & n_err) { multi_line_string<T> new_mls; new_mls.reserve(mls.size()); for (auto const& ls : mls) { line_string<T> new_ls = reproject_internal(ls, proj_trans, n_err); if (!new_ls.empty()) { new_mls.emplace_back(std::move(new_ls)); } } return new_mls; }