Lines Matching defs:GoodIter

326 // expected-note@+2 {{candidate function not viable: no known conversion from 'GoodIter' to 'Iter0' for 1st argument}}
338 class GoodIter {
340 GoodIter() {}
341 GoodIter(const GoodIter &) {}
342 GoodIter(int fst, int snd) {}
343 GoodIter &operator=(const GoodIter &that) { return *this; }
344 GoodIter &operator=(const Iter0 &that) { return *this; }
345 GoodIter &operator+=(int x) { return *this; }
346 GoodIter &operator-=(int x) { return *this; }
347 explicit GoodIter(void *) {}
348 GoodIter operator++() { return *this; }
349 GoodIter operator--() { return *this; }
351 bool operator<(GoodIter a) { return true; }
352 bool operator<=(GoodIter a) { return true; }
353 bool operator>=(GoodIter a) { return false; }
357 // expected-note@+2 {{candidate function not viable: no known conversion from 'const Iter0' to 'GoodIter' for 2nd argument}}
358 // expected-note@+1 2 {{candidate function not viable: no known conversion from 'Iter1' to 'GoodIter' for 1st argument}}
359 int operator-(GoodIter a, GoodIter b) { return 0; }
361 GoodIter operator-(GoodIter a) { return a; }
363 // expected-note@+1 2 {{candidate function not viable: no known conversion from 'Iter1' to 'GoodIter' for 1st argument}}
364 GoodIter operator-(GoodIter a, int v) { return GoodIter(); }
365 // expected-note@+1 2 {{candidate function not viable: no known conversion from 'Iter0' to 'GoodIter' for 1st argument}}
366 GoodIter operator+(GoodIter a, int v) { return GoodIter(); }
367 // expected-note@+2 {{candidate function not viable: no known conversion from 'GoodIter' to 'int' for 1st argument}}
369 GoodIter operator-(int v, GoodIter a) { return GoodIter(); }
371 GoodIter operator+(int v, GoodIter a) { return GoodIter(); }
374 GoodIter begin, end;
377 for (GoodIter I = begin; I < end; ++I)
381 for (GoodIter &I = begin; I < end; ++I)
384 for (GoodIter I = begin; I >= end; --I)
388 for (GoodIter I(begin); I < end; ++I)
392 for (GoodIter I(nullptr); I < end; ++I)
396 for (GoodIter I(0); I < end; ++I)
400 for (GoodIter I(1, 2); I < end; ++I)
403 for (begin = GoodIter(0); begin < end; ++begin)
405 // expected-error@+3 {{invalid operands to binary expression ('GoodIter' and 'const Iter0')}}
419 for (GoodIter I = begin; I - I; ++I)
423 for (GoodIter I = begin; begin < end; ++I)
427 for (GoodIter I = begin; !I; ++I)
432 for (GoodIter I = begin; I >= end; I = I + 1)
435 for (GoodIter I = begin; I >= end; I = I - 1)
439 for (GoodIter I = begin; I >= end; I = -I)
444 for (GoodIter I = begin; I >= end; I = 2 + I)
448 for (GoodIter I = begin; I >= end; I = 2 - I)
536 GoodIter begin, end;
537 TC<GoodIter, 100> t1;
538 TC<GoodIter, -100> t2;
540 t2.dotest_lt(begin, end); // expected-note {{in instantiation of member function 'TC<GoodIter, -100>::dotest_lt' requested here}}
541 dotest_gt(begin, end); // expected-note {{in instantiation of function template specialization 'dotest_gt<GoodIter, 0>' requested here}}