Skip to content

Commit 1f4ac2b

Browse files
committed
A few more deprecated iterator fixes
std::iterator is deprecated in C++17
1 parent 190fea8 commit 1f4ac2b

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

lib/SILGen/SILGenApply.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2251,9 +2251,13 @@ class ClaimedParamsRef {
22512251
checkParams();
22522252
}
22532253

2254-
struct iterator : public std::iterator<std::random_access_iterator_tag,
2255-
SILParameterInfo>
2256-
{
2254+
struct iterator {
2255+
using iterator_category = std::random_access_iterator_tag;
2256+
using value_type = SILParameterInfo;
2257+
using difference_type = std::ptrdiff_t;
2258+
using pointer = value_type*;
2259+
using reference = value_type&;
2260+
22572261
const SILParameterInfo *Base;
22582262
unsigned I, SkipParamIndex;
22592263

lib/SILOptimizer/PassManager/PassManager.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1028,9 +1028,13 @@ namespace {
10281028
SmallVector<Edge, 8> Children;
10291029
};
10301030

1031-
struct child_iterator
1032-
: public std::iterator<std::random_access_iterator_tag, Node *,
1033-
ptrdiff_t> {
1031+
struct child_iterator {
1032+
using iterator_category = std::random_access_iterator_tag;
1033+
using value_type = Node*;
1034+
using difference_type = std::ptrdiff_t;
1035+
using pointer = value_type*;
1036+
using reference = value_type&;
1037+
10341038
SmallVectorImpl<Edge>::iterator baseIter;
10351039

10361040
child_iterator(SmallVectorImpl<Edge>::iterator baseIter) :

0 commit comments

Comments
 (0)