reverse_iterator.fail.cpp revision b64f8b07c104c6cc986570ac8ee0ed16a9f23976
1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)//===----------------------------------------------------------------------===// 2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// 3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// The LLVM Compiler Infrastructure 4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// 5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// This file is dual licensed under the MIT and the University of Illinois Open 6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Source Licenses. See LICENSE.TXT for details. 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// 846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)//===----------------------------------------------------------------------===// 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// <iterator> 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// reverse_iterator 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// template <class U> 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// requires HasConstructor<Iter, const U&> 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// reverse_iterator(const reverse_iterator<U> &u); 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 186d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)// test requires 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include <iterator> 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 226d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)template <class It, class U> 236d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)void 246d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)test(U u) 256d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles){ 266d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) std::reverse_iterator<U> r2(u); 276d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) std::reverse_iterator<It> r1 = r2; 286d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)} 296d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)struct base {}; 31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)struct derived {}; 32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 336d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)int main() 34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles){ 35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) derived d; 36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 376d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) test<base*>(&d); 38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)