iterator.patch 1.4 KB

1234567891011121314151617181920212223242526272829
  1. --- a/cpp/src/arrow/vendored/datetime/tz.cpp
  2. +++ b/cpp/src/arrow/vendored/datetime/tz.cpp
  3. @@ -1309,7 +1309,7 @@ void
  4. detail::Rule::split(std::vector<Rule>& rules, std::size_t i, std::size_t k, std::size_t& e)
  5. {
  6. using namespace date;
  7. - using difference_type = std::vector<Rule>::iterator::difference_type;
  8. + using difference_type = std::iterator_traits<std::vector<Rule>::iterator>::difference_type;
  9. // rules[i].starting_year_ <= rules[k].starting_year_ &&
  10. // rules[i].ending_year_ >= rules[k].starting_year_ &&
  11. // (rules[i].starting_year_ != rules[k].starting_year_ ||
  12. @@ -1377,7 +1377,7 @@ detail::Rule::split(std::vector<Rule>& rules, std::size_t i, std::size_t k, std:
  13. void
  14. detail::Rule::split_overlaps(std::vector<Rule>& rules, std::size_t i, std::size_t& e)
  15. {
  16. - using difference_type = std::vector<Rule>::iterator::difference_type;
  17. + using difference_type = std::iterator_traits<std::vector<Rule>::iterator>::difference_type;
  18. auto j = i;
  19. for (; i + 1 < e; ++i)
  20. {
  21. @@ -1401,7 +1401,7 @@ detail::Rule::split_overlaps(std::vector<Rule>& rules, std::size_t i, std::size_
  22. void
  23. detail::Rule::split_overlaps(std::vector<Rule>& rules)
  24. {
  25. - using difference_type = std::vector<Rule>::iterator::difference_type;
  26. + using difference_type = std::iterator_traits<std::vector<Rule>::iterator>::difference_type;
  27. for (std::size_t i = 0; i < rules.size();)
  28. {
  29. auto e = static_cast<std::size_t>(std::upper_bound(