@@ -64,106 +64,132 @@ test1()
64
64
int main (int , char **)
65
65
{
66
66
test<input_iterator<const int *>, output_iterator<int *> >();
67
- test<input_iterator<const int *>, input_iterator<int *> >();
68
67
test<input_iterator<const int *>, forward_iterator<int *> >();
69
68
test<input_iterator<const int *>, bidirectional_iterator<int *> >();
70
69
test<input_iterator<const int *>, random_access_iterator<int *> >();
71
70
test<input_iterator<const int *>, int *>();
72
71
73
72
test<forward_iterator<const int *>, output_iterator<int *> >();
74
- test<forward_iterator<const int *>, input_iterator<int *> >();
75
73
test<forward_iterator<const int *>, forward_iterator<int *> >();
76
74
test<forward_iterator<const int *>, bidirectional_iterator<int *> >();
77
75
test<forward_iterator<const int *>, random_access_iterator<int *> >();
78
76
test<forward_iterator<const int *>, int *>();
79
77
80
78
test<bidirectional_iterator<const int *>, output_iterator<int *> >();
81
- test<bidirectional_iterator<const int *>, input_iterator<int *> >();
82
79
test<bidirectional_iterator<const int *>, forward_iterator<int *> >();
83
80
test<bidirectional_iterator<const int *>, bidirectional_iterator<int *> >();
84
81
test<bidirectional_iterator<const int *>, random_access_iterator<int *> >();
85
82
test<bidirectional_iterator<const int *>, int *>();
86
83
87
84
test<random_access_iterator<const int *>, output_iterator<int *> >();
88
- test<random_access_iterator<const int *>, input_iterator<int *> >();
89
85
test<random_access_iterator<const int *>, forward_iterator<int *> >();
90
86
test<random_access_iterator<const int *>, bidirectional_iterator<int *> >();
91
87
test<random_access_iterator<const int *>, random_access_iterator<int *> >();
92
88
test<random_access_iterator<const int *>, int *>();
93
89
94
90
test<const int *, output_iterator<int *> >();
95
- test<const int *, input_iterator<int *> >();
96
91
test<const int *, forward_iterator<int *> >();
97
92
test<const int *, bidirectional_iterator<int *> >();
98
93
test<const int *, random_access_iterator<int *> >();
99
94
test<const int *, int *>();
100
95
101
96
#if TEST_STD_VER >= 11
102
97
test1<input_iterator<std::unique_ptr<int >*>, output_iterator<std::unique_ptr<int >*> >();
103
- test1<input_iterator<std::unique_ptr<int >*>, input_iterator<std::unique_ptr<int >*> >();
104
98
test1<input_iterator<std::unique_ptr<int >*>, forward_iterator<std::unique_ptr<int >*> >();
105
99
test1<input_iterator<std::unique_ptr<int >*>, bidirectional_iterator<std::unique_ptr<int >*> >();
106
100
test1<input_iterator<std::unique_ptr<int >*>, random_access_iterator<std::unique_ptr<int >*> >();
107
101
test1<input_iterator<std::unique_ptr<int >*>, std::unique_ptr<int >*>();
108
102
109
103
test1<forward_iterator<std::unique_ptr<int >*>, output_iterator<std::unique_ptr<int >*> >();
110
- test1<forward_iterator<std::unique_ptr<int >*>, input_iterator<std::unique_ptr<int >*> >();
111
104
test1<forward_iterator<std::unique_ptr<int >*>, forward_iterator<std::unique_ptr<int >*> >();
112
105
test1<forward_iterator<std::unique_ptr<int >*>, bidirectional_iterator<std::unique_ptr<int >*> >();
113
106
test1<forward_iterator<std::unique_ptr<int >*>, random_access_iterator<std::unique_ptr<int >*> >();
114
107
test1<forward_iterator<std::unique_ptr<int >*>, std::unique_ptr<int >*>();
115
108
116
109
test1<bidirectional_iterator<std::unique_ptr<int >*>, output_iterator<std::unique_ptr<int >*> >();
117
- test1<bidirectional_iterator<std::unique_ptr<int >*>, input_iterator<std::unique_ptr<int >*> >();
118
110
test1<bidirectional_iterator<std::unique_ptr<int >*>, forward_iterator<std::unique_ptr<int >*> >();
119
111
test1<bidirectional_iterator<std::unique_ptr<int >*>, bidirectional_iterator<std::unique_ptr<int >*> >();
120
112
test1<bidirectional_iterator<std::unique_ptr<int >*>, random_access_iterator<std::unique_ptr<int >*> >();
121
113
test1<bidirectional_iterator<std::unique_ptr<int >*>, std::unique_ptr<int >*>();
122
114
123
115
test1<random_access_iterator<std::unique_ptr<int >*>, output_iterator<std::unique_ptr<int >*> >();
124
- test1<random_access_iterator<std::unique_ptr<int >*>, input_iterator<std::unique_ptr<int >*> >();
125
116
test1<random_access_iterator<std::unique_ptr<int >*>, forward_iterator<std::unique_ptr<int >*> >();
126
117
test1<random_access_iterator<std::unique_ptr<int >*>, bidirectional_iterator<std::unique_ptr<int >*> >();
127
118
test1<random_access_iterator<std::unique_ptr<int >*>, random_access_iterator<std::unique_ptr<int >*> >();
128
119
test1<random_access_iterator<std::unique_ptr<int >*>, std::unique_ptr<int >*>();
129
120
130
121
test1<std::unique_ptr<int >*, output_iterator<std::unique_ptr<int >*> >();
131
- test1<std::unique_ptr<int >*, input_iterator<std::unique_ptr<int >*> >();
132
122
test1<std::unique_ptr<int >*, forward_iterator<std::unique_ptr<int >*> >();
133
123
test1<std::unique_ptr<int >*, bidirectional_iterator<std::unique_ptr<int >*> >();
134
124
test1<std::unique_ptr<int >*, random_access_iterator<std::unique_ptr<int >*> >();
135
125
test1<std::unique_ptr<int >*, std::unique_ptr<int >*>();
136
126
#endif // TEST_STD_VER >= 11
137
127
138
128
#if TEST_STD_VER > 17
129
+ test<input_iterator<const int *>, contiguous_iterator<int *>>();
130
+ test<forward_iterator<const int *>, contiguous_iterator<int *>>();
131
+ test<bidirectional_iterator<const int *>, contiguous_iterator<int *>>();
132
+ test<random_access_iterator<const int *>, contiguous_iterator<int *>>();
133
+ test<const int *, contiguous_iterator<int *>>();
134
+ test<contiguous_iterator<const int *>, output_iterator<int *>>();
135
+ test<contiguous_iterator<const int *>, forward_iterator<int *>>();
136
+ test<contiguous_iterator<const int *>, bidirectional_iterator<int *>>();
137
+ test<contiguous_iterator<const int *>, random_access_iterator<int *>>();
138
+ test<contiguous_iterator<const int *>, int *>();
139
+ test<contiguous_iterator<const int *>, contiguous_iterator<int *>>();
140
+
141
+ test1<input_iterator<std::unique_ptr<int >*>, contiguous_iterator<std::unique_ptr<int >*>>();
142
+ test1<forward_iterator<std::unique_ptr<int >*>, contiguous_iterator<std::unique_ptr<int >*>>();
143
+ test1<bidirectional_iterator<std::unique_ptr<int >*>, contiguous_iterator<std::unique_ptr<int >*>>();
144
+ test1<random_access_iterator<std::unique_ptr<int >*>, contiguous_iterator<std::unique_ptr<int >*>>();
145
+ test1<std::unique_ptr<int >*, contiguous_iterator<std::unique_ptr<int >*>>();
146
+ test1<contiguous_iterator<std::unique_ptr<int >*>, output_iterator<std::unique_ptr<int >*>>();
147
+ test1<contiguous_iterator<std::unique_ptr<int >*>, forward_iterator<std::unique_ptr<int >*>>();
148
+ test1<contiguous_iterator<std::unique_ptr<int >*>, bidirectional_iterator<std::unique_ptr<int >*>>();
149
+ test1<contiguous_iterator<std::unique_ptr<int >*>, random_access_iterator<std::unique_ptr<int >*>>();
150
+ test1<contiguous_iterator<std::unique_ptr<int >*>, std::unique_ptr<int >*>();
151
+ test1<contiguous_iterator<std::unique_ptr<int >*>, contiguous_iterator<std::unique_ptr<int >*>>();
152
+
139
153
static_assert (test<input_iterator<const int *>, input_iterator<int *> >());
140
154
static_assert (test<input_iterator<const int *>, forward_iterator<int *> >());
141
155
static_assert (test<input_iterator<const int *>, bidirectional_iterator<int *> >());
142
156
static_assert (test<input_iterator<const int *>, random_access_iterator<int *> >());
157
+ static_assert (test<input_iterator<const int *>, contiguous_iterator<int *> >());
143
158
static_assert (test<input_iterator<const int *>, int *>());
144
159
145
160
static_assert (test<forward_iterator<const int *>, input_iterator<int *> >());
146
161
static_assert (test<forward_iterator<const int *>, forward_iterator<int *> >());
147
162
static_assert (test<forward_iterator<const int *>, bidirectional_iterator<int *> >());
148
163
static_assert (test<forward_iterator<const int *>, random_access_iterator<int *> >());
164
+ static_assert (test<forward_iterator<const int *>, contiguous_iterator<int *> >());
149
165
static_assert (test<forward_iterator<const int *>, int *>());
150
166
151
167
static_assert (test<bidirectional_iterator<const int *>, input_iterator<int *> >());
152
168
static_assert (test<bidirectional_iterator<const int *>, forward_iterator<int *> >());
153
169
static_assert (test<bidirectional_iterator<const int *>, bidirectional_iterator<int *> >());
154
170
static_assert (test<bidirectional_iterator<const int *>, random_access_iterator<int *> >());
171
+ static_assert (test<bidirectional_iterator<const int *>, contiguous_iterator<int *> >());
155
172
static_assert (test<bidirectional_iterator<const int *>, int *>());
156
173
157
174
static_assert (test<random_access_iterator<const int *>, input_iterator<int *> >());
158
175
static_assert (test<random_access_iterator<const int *>, forward_iterator<int *> >());
159
176
static_assert (test<random_access_iterator<const int *>, bidirectional_iterator<int *> >());
160
177
static_assert (test<random_access_iterator<const int *>, random_access_iterator<int *> >());
178
+ static_assert (test<random_access_iterator<const int *>, contiguous_iterator<int *> >());
161
179
static_assert (test<random_access_iterator<const int *>, int *>());
162
180
181
+ static_assert (test<contiguous_iterator<const int *>, input_iterator<int *> >());
182
+ static_assert (test<contiguous_iterator<const int *>, forward_iterator<int *> >());
183
+ static_assert (test<contiguous_iterator<const int *>, bidirectional_iterator<int *> >());
184
+ static_assert (test<contiguous_iterator<const int *>, random_access_iterator<int *> >());
185
+ static_assert (test<contiguous_iterator<const int *>, contiguous_iterator<int *> >());
186
+ static_assert (test<contiguous_iterator<const int *>, int *>());
187
+
163
188
static_assert (test<const int *, input_iterator<int *> >());
164
189
static_assert (test<const int *, forward_iterator<int *> >());
165
190
static_assert (test<const int *, bidirectional_iterator<int *> >());
166
191
static_assert (test<const int *, random_access_iterator<int *> >());
192
+ static_assert (test<const int *, contiguous_iterator<int *> >());
167
193
static_assert (test<const int *, int *>());
168
194
#endif // TEST_STD_VER > 17
169
195
0 commit comments