--- a/cpp/src/arrow/vendored/datetime/tz.cpp +++ b/cpp/src/arrow/vendored/datetime/tz.cpp @@ -1309,7 +1309,7 @@ void detail::Rule::split(std::vector& rules, std::size_t i, std::size_t k, std::size_t& e) { using namespace date; - using difference_type = std::vector::iterator::difference_type; + using difference_type = std::iterator_traits::iterator>::difference_type; // rules[i].starting_year_ <= rules[k].starting_year_ && // rules[i].ending_year_ >= rules[k].starting_year_ && // (rules[i].starting_year_ != rules[k].starting_year_ || @@ -1377,7 +1377,7 @@ detail::Rule::split(std::vector& rules, std::size_t i, std::size_t k, std: void detail::Rule::split_overlaps(std::vector& rules, std::size_t i, std::size_t& e) { - using difference_type = std::vector::iterator::difference_type; + using difference_type = std::iterator_traits::iterator>::difference_type; auto j = i; for (; i + 1 < e; ++i) { @@ -1401,7 +1401,7 @@ detail::Rule::split_overlaps(std::vector& rules, std::size_t i, std::size_ void detail::Rule::split_overlaps(std::vector& rules) { - using difference_type = std::vector::iterator::difference_type; + using difference_type = std::iterator_traits::iterator>::difference_type; for (std::size_t i = 0; i < rules.size();) { auto e = static_cast(std::upper_bound(