aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/apache/arrow/patches/iterator.patch
blob: 01043d9b03fbd1b9407bb389bbaad583f7630cec (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
--- 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<Rule>& rules, std::size_t i, std::size_t k, std::size_t& e)
 {
     using namespace date;
-    using difference_type = std::vector<Rule>::iterator::difference_type;
+    using difference_type = std::iterator_traits<std::vector<Rule>::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<Rule>& rules, std::size_t i, std::size_t k, std:
 void
 detail::Rule::split_overlaps(std::vector<Rule>& rules, std::size_t i, std::size_t& e)
 {
-    using difference_type = std::vector<Rule>::iterator::difference_type;
+    using difference_type = std::iterator_traits<std::vector<Rule>::iterator>::difference_type;
     auto j = i;
     for (; i + 1 < e; ++i)
     {
@@ -1401,7 +1401,7 @@ detail::Rule::split_overlaps(std::vector<Rule>& rules, std::size_t i, std::size_
 void
 detail::Rule::split_overlaps(std::vector<Rule>& rules)
 {
-    using difference_type = std::vector<Rule>::iterator::difference_type;
+    using difference_type = std::iterator_traits<std::vector<Rule>::iterator>::difference_type;
     for (std::size_t i = 0; i < rules.size();)
     {
         auto e = static_cast<std::size_t>(std::upper_bound(