@@ -22,25 +22,25 @@ void TestFillSimple(void)
2222 ASSERT_EQUAL (v[2 ], 7 );
2323 ASSERT_EQUAL (v[3 ], 7 );
2424 ASSERT_EQUAL (v[4 ], 4 );
25-
25+
2626 thrust::fill (v.begin () + 0 , v.begin () + 3 , (T) 8 );
27-
27+
2828 ASSERT_EQUAL (v[0 ], 8 );
2929 ASSERT_EQUAL (v[1 ], 8 );
3030 ASSERT_EQUAL (v[2 ], 8 );
3131 ASSERT_EQUAL (v[3 ], 7 );
3232 ASSERT_EQUAL (v[4 ], 4 );
33-
33+
3434 thrust::fill (v.begin () + 2 , v.end (), (T) 9 );
35-
35+
3636 ASSERT_EQUAL (v[0 ], 8 );
3737 ASSERT_EQUAL (v[1 ], 8 );
3838 ASSERT_EQUAL (v[2 ], 9 );
3939 ASSERT_EQUAL (v[3 ], 9 );
4040 ASSERT_EQUAL (v[4 ], 9 );
4141
4242 thrust::fill (v.begin (), v.end (), (T) 1 );
43-
43+
4444 ASSERT_EQUAL (v[0 ], 1 );
4545 ASSERT_EQUAL (v[1 ], 1 );
4646 ASSERT_EQUAL (v[2 ], 1 );
@@ -70,14 +70,14 @@ void TestFillMixedTypes(void)
7070 Vector v (4 );
7171
7272 thrust::fill (v.begin (), v.end (), bool (true ));
73-
73+
7474 ASSERT_EQUAL (v[0 ], 1 );
7575 ASSERT_EQUAL (v[1 ], 1 );
7676 ASSERT_EQUAL (v[2 ], 1 );
7777 ASSERT_EQUAL (v[3 ], 1 );
78-
78+
7979 thrust::fill (v.begin (), v.end (), char (20 ));
80-
80+
8181 ASSERT_EQUAL (v[0 ], 20 );
8282 ASSERT_EQUAL (v[1 ], 20 );
8383 ASSERT_EQUAL (v[2 ], 20 );
@@ -101,17 +101,17 @@ void TestFill(size_t n)
101101 thrust::fill (d_data.begin () + std::min ((size_t )117 , n), d_data.begin () + std::min ((size_t )367 , n), (T) 1 );
102102
103103 ASSERT_EQUAL (h_data, d_data);
104-
104+
105105 thrust::fill (h_data.begin () + std::min ((size_t )8 , n), h_data.begin () + std::min ((size_t )259 , n), (T) 2 );
106106 thrust::fill (d_data.begin () + std::min ((size_t )8 , n), d_data.begin () + std::min ((size_t )259 , n), (T) 2 );
107107
108108 ASSERT_EQUAL (h_data, d_data);
109-
109+
110110 thrust::fill (h_data.begin () + std::min ((size_t )3 , n), h_data.end (), (T) 3 );
111111 thrust::fill (d_data.begin () + std::min ((size_t )3 , n), d_data.end (), (T) 3 );
112112
113113 ASSERT_EQUAL (h_data, d_data);
114-
114+
115115 thrust::fill (h_data.begin (), h_data.end (), (T) 4 );
116116 thrust::fill (d_data.begin (), d_data.end (), (T) 4 );
117117
@@ -135,18 +135,18 @@ void TestFillNSimple(void)
135135 ASSERT_EQUAL (v[3 ], 7 );
136136 ASSERT_EQUAL (v[4 ], 4 );
137137 ASSERT_EQUAL_QUIET (v.begin () + 4 , iter);
138-
138+
139139 iter = thrust::fill_n (v.begin () + 0 , 3 , (T) 8 );
140-
140+
141141 ASSERT_EQUAL (v[0 ], 8 );
142142 ASSERT_EQUAL (v[1 ], 8 );
143143 ASSERT_EQUAL (v[2 ], 8 );
144144 ASSERT_EQUAL (v[3 ], 7 );
145145 ASSERT_EQUAL (v[4 ], 4 );
146146 ASSERT_EQUAL_QUIET (v.begin () + 3 , iter);
147-
147+
148148 iter = thrust::fill_n (v.begin () + 2 , 3 , (T) 9 );
149-
149+
150150 ASSERT_EQUAL (v[0 ], 8 );
151151 ASSERT_EQUAL (v[1 ], 8 );
152152 ASSERT_EQUAL (v[2 ], 9 );
@@ -155,7 +155,7 @@ void TestFillNSimple(void)
155155 ASSERT_EQUAL_QUIET (v.end (), iter);
156156
157157 iter = thrust::fill_n (v.begin (), v.size (), (T) 1 );
158-
158+
159159 ASSERT_EQUAL (v[0 ], 1 );
160160 ASSERT_EQUAL (v[1 ], 1 );
161161 ASSERT_EQUAL (v[2 ], 1 );
@@ -192,15 +192,15 @@ void TestFillNMixedTypes(void)
192192 Vector v (4 );
193193
194194 typename Vector::iterator iter = thrust::fill_n (v.begin (), v.size (), bool (true ));
195-
195+
196196 ASSERT_EQUAL (v[0 ], 1 );
197197 ASSERT_EQUAL (v[1 ], 1 );
198198 ASSERT_EQUAL (v[2 ], 1 );
199199 ASSERT_EQUAL (v[3 ], 1 );
200200 ASSERT_EQUAL_QUIET (v.end (), iter);
201-
201+
202202 iter = thrust::fill_n (v.begin (), v.size (), char (20 ));
203-
203+
204204 ASSERT_EQUAL (v[0 ], 20 );
205205 ASSERT_EQUAL (v[1 ], 20 );
206206 ASSERT_EQUAL (v[2 ], 20 );
@@ -227,19 +227,19 @@ void TestFillN(size_t n)
227227 thrust::fill_n (d_data.begin () + begin_offset, std::min ((size_t )367 , n) - begin_offset, (T) 1 );
228228
229229 ASSERT_EQUAL (h_data, d_data);
230-
230+
231231 begin_offset = std::min<size_t >(8 , n);
232232 thrust::fill_n (h_data.begin () + begin_offset, std::min ((size_t )259 , n) - begin_offset, (T) 2 );
233233 thrust::fill_n (d_data.begin () + begin_offset, std::min ((size_t )259 , n) - begin_offset, (T) 2 );
234234
235235 ASSERT_EQUAL (h_data, d_data);
236-
236+
237237 begin_offset = std::min<size_t >(3 , n);
238238 thrust::fill_n (h_data.begin () + begin_offset, h_data.size () - begin_offset, (T) 3 );
239239 thrust::fill_n (d_data.begin () + begin_offset, d_data.size () - begin_offset, (T) 3 );
240240
241241 ASSERT_EQUAL (h_data, d_data);
242-
242+
243243 thrust::fill_n (h_data.begin (), h_data.size (), (T) 4 );
244244 thrust::fill_n (d_data.begin (), d_data.size (), (T) 4 );
245245
@@ -301,7 +301,7 @@ void TestFillWithTrivialAssignment(void)
301301
302302 thrust::host_vector<T> h (1 );
303303 thrust::device_vector<T> d (1 );
304-
304+
305305 ASSERT_EQUAL (h[0 ].x , 0 );
306306 ASSERT_EQUAL (h[0 ].y , 0 );
307307 ASSERT_EQUAL (h[0 ].z , 0 );
@@ -334,6 +334,10 @@ struct TypeWithNonTrivialAssigment
334334 __host__ __device__
335335 TypeWithNonTrivialAssigment () : x(0 ), y(0 ), z(0 ) {}
336336
337+ #if THRUST_CPP_DIALECT >= 2011
338+ TypeWithNonTrivialAssigment (const TypeWithNonTrivialAssigment &) = default;
339+ #endif
340+
337341 __host__ __device__
338342 TypeWithNonTrivialAssigment& operator =(const TypeWithNonTrivialAssigment& t)
339343 {
@@ -342,7 +346,7 @@ struct TypeWithNonTrivialAssigment
342346 z = t.x + t.y ;
343347 return *this ;
344348 }
345-
349+
346350 __host__ __device__
347351 bool operator ==(const TypeWithNonTrivialAssigment& t) const
348352 {
@@ -356,7 +360,7 @@ void TestFillWithNonTrivialAssignment(void)
356360
357361 thrust::host_vector<T> h (1 );
358362 thrust::device_vector<T> d (1 );
359-
363+
360364 ASSERT_EQUAL (h[0 ].x , 0 );
361365 ASSERT_EQUAL (h[0 ].y , 0 );
362366 ASSERT_EQUAL (h[0 ].z , 0 );
0 commit comments