Skip to content

Commit c33ecfe

Browse files
authored
fix: naming conflict (#22)
1 parent cc8cdd0 commit c33ecfe

2 files changed

Lines changed: 100 additions & 100 deletions

File tree

source/tinystl/iterator/iterator_traits.h

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -69,101 +69,101 @@ concept cpp17_random_access_iterator =
6969

7070
// has nested types
7171
template <class Iter>
72-
concept has_iterator_category = requires { typename Iter::iterator_category; };
72+
concept iter_has_iterator_category = requires { typename Iter::iterator_category; };
7373

7474
template <class Iter>
75-
concept has_value_type = requires { typename Iter::value_type; };
75+
concept iter_has_value_type = requires { typename Iter::value_type; };
7676

7777
template <class Iter>
78-
concept has_difference_type = requires { typename Iter::difference_type; };
78+
concept iter_has_difference_type = requires { typename Iter::difference_type; };
7979

8080
template <class Iter>
81-
concept has_pointer = requires { typename Iter::pointer; };
81+
concept iter_has_pointer = requires { typename Iter::pointer; };
8282

8383
template <class Iter>
84-
concept has_reference = requires { typename Iter::reference; };
84+
concept iter_has_reference = requires { typename Iter::reference; };
8585

8686
// get pointer type
8787
template <class Iter>
88-
concept has_arrow =
88+
concept iter_has_arrow =
8989
requires(Iter &&iter) { static_cast<Iter &&>(iter).operator->(); };
9090

9191
template <class Iter>
92-
struct get_pointer {
92+
struct iter_get_pointer {
9393
using type = void;
9494
};
9595

96-
template <has_pointer Iter>
97-
struct get_pointer<Iter> {
96+
template <iter_has_pointer Iter>
97+
struct iter_get_pointer<Iter> {
9898
using type = typename Iter::pointer;
9999
};
100100

101101
template <class Iter>
102-
requires(!has_pointer<Iter>) && (has_arrow<Iter>)
103-
struct get_pointer<Iter> {
102+
requires(!iter_has_pointer<Iter>) && (iter_has_arrow<Iter>)
103+
struct iter_get_pointer<Iter> {
104104
using type = decltype(std::declval<Iter &>().operator->());
105105
};
106106

107107
// get reference type
108108
template <class Iter>
109-
struct get_reference {
109+
struct iter_get_reference {
110110
using type = std::remove_reference_t<Iter>;
111111
};
112112

113-
template <has_reference Iter>
114-
struct get_reference<Iter> {
113+
template <iter_has_reference Iter>
114+
struct iter_get_reference<Iter> {
115115
using type = typename Iter::reference;
116116
};
117117

118118
// get iterator category
119119
template <class Iter>
120-
struct get_iterator_category_impl {
120+
struct iter_get_iterator_category_impl {
121121
using type = tinystl::input_iterator_tag;
122122
};
123123

124124
template <cpp17_forward_iterator Iter>
125-
struct get_iterator_category_impl<Iter> {
125+
struct iter_get_iterator_category_impl<Iter> {
126126
using type = tinystl::forward_iterator_tag;
127127
};
128128

129129
template <cpp17_bidirectional_iterator Iter>
130-
struct get_iterator_category_impl<Iter> {
130+
struct iter_get_iterator_category_impl<Iter> {
131131
using type = tinystl::bidirectional_iterator_tag;
132132
};
133133

134134
template <cpp17_random_access_iterator Iter>
135-
struct get_iterator_category_impl<Iter> {
135+
struct iter_get_iterator_category_impl<Iter> {
136136
using type = tinystl::random_access_iterator_tag;
137137
};
138138

139139
template <class Iter>
140-
struct get_iterator_category : get_iterator_category_impl<Iter> {};
140+
struct iter_get_iterator_category : iter_get_iterator_category_impl<Iter> {};
141141

142-
template <has_iterator_category Iter>
143-
struct get_iterator_category<Iter> {
142+
template <iter_has_iterator_category Iter>
143+
struct iter_get_iterator_category<Iter> {
144144
using type = Iter::iterator_category;
145145
};
146146

147147
template <class Iter>
148-
struct get_difference_type {
148+
struct iter_get_difference_type {
149149
using type = void;
150150
};
151151

152152
template <class Iter>
153153
requires requires {
154154
typename std::incrementable_traits<Iter>::difference_type;
155155
}
156-
struct get_difference_type<Iter> {
156+
struct iter_get_difference_type<Iter> {
157157
using type = typename std::incrementable_traits<Iter>::difference_type;
158158
};
159159

160160
template <class Iter>
161161
concept specifies_members = requires {
162-
requires has_value_type<Iter>;
163-
requires has_difference_type<Iter>;
164-
requires has_reference<Iter>;
165-
requires has_iterator_category<Iter>;
166-
requires !has_pointer<Iter>;
162+
requires iter_has_value_type<Iter>;
163+
requires iter_has_difference_type<Iter>;
164+
requires iter_has_reference<Iter>;
165+
requires iter_has_iterator_category<Iter>;
166+
requires !iter_has_pointer<Iter>;
167167
};
168168

169169
template <class _Tp>
@@ -192,19 +192,19 @@ struct iterator_traits<Iter> {
192192

193193
template <detail::cpp17_input_iterator_missing_members Iter>
194194
struct iterator_traits<Iter> {
195-
using iterator_category = typename detail::get_iterator_category<Iter>::type;
195+
using iterator_category = typename detail::iter_get_iterator_category<Iter>::type;
196196
using value_type = typename std::indirectly_readable_traits<Iter>::value_type;
197197
using difference_type =
198198
typename std::incrementable_traits<Iter>::difference_type;
199-
using pointer = typename detail::get_pointer<Iter>::type;
200-
using reference = typename detail::get_reference<Iter>::type;
199+
using pointer = typename detail::iter_get_pointer<Iter>::type;
200+
using reference = typename detail::iter_get_reference<Iter>::type;
201201
};
202202

203203
template <detail::cpp17_iterator_missing_members Iter>
204204
struct iterator_traits<Iter> {
205205
using iterator_category = output_iterator_tag;
206206
using value_type = void;
207-
using difference_type = detail::get_difference_type<Iter>::type;
207+
using difference_type = detail::iter_get_difference_type<Iter>::type;
208208
using pointer = void;
209209
using reference = void;
210210
};

0 commit comments

Comments
 (0)