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(
|