set_symmetric_difference.pass.cpp revision f5256e16dfc425c1d466f6308d4026d529ce9e0b
1bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//===----------------------------------------------------------------------===// 2bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// 3f5256e16dfc425c1d466f6308d4026d529ce9e0bHoward Hinnant// The LLVM Compiler Infrastructure 4bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// 5bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// This file is distributed under the University of Illinois Open Source 6bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// License. See LICENSE.TXT for details. 7bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// 8bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//===----------------------------------------------------------------------===// 9bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 10bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// <algorithm> 11bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 12bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// template<InputIterator InIter1, InputIterator InIter2, typename OutIter> 13bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// requires OutputIterator<OutIter, InIter1::reference> 14bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// && OutputIterator<OutIter, InIter2::reference> 15bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// && HasLess<InIter2::value_type, InIter1::value_type> 16bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// && HasLess<InIter1::value_type, InIter2::value_type> 17bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// OutIter 18bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// set_symmetric_difference(InIter1 first1, InIter1 last1, 19bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// InIter2 first2, InIter2 last2, 20bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// OutIter result); 21bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 22bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include <algorithm> 23bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include <cassert> 24bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 25bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "../../../iterators.h" 26bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 27bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnanttemplate <class Iter1, class Iter2, class OutIter> 28bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantvoid 29bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnanttest() 30bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant{ 31bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant int ia[] = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4}; 32bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant const int sa = sizeof(ia)/sizeof(ia[0]); 33bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant int ib[] = {2, 4, 4, 6}; 34bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant const int sb = sizeof(ib)/sizeof(ib[0]); 35bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant int ic[20]; 36bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant int ir[] = {1, 2, 3, 3, 3, 4, 4, 6}; 37bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant const int sr = sizeof(ir)/sizeof(ir[0]); 38bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant OutIter ce = std::set_symmetric_difference(Iter1(ia), Iter1(ia+sa), 39bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant Iter2(ib), Iter2(ib+sb), OutIter(ic)); 40bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(base(ce) - ic == sr); 41bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(std::lexicographical_compare(ic, base(ce), ir, ir+sr) == 0); 42bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant ce = std::set_symmetric_difference(Iter1(ib), Iter1(ib+sb), 43bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant Iter2(ia), Iter2(ia+sa), OutIter(ic)); 44bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(base(ce) - ic == sr); 45bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(std::lexicographical_compare(ic, base(ce), ir, ir+sr) == 0); 46bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant} 47bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 48bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantint main() 49bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant{ 50bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >(); 51bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >(); 52bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >(); 53bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >(); 54bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, input_iterator<const int*>, int*>(); 55bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 56bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >(); 57bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >(); 58bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >(); 59bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >(); 60bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, forward_iterator<const int*>, int*>(); 61bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 62bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >(); 63bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >(); 64bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >(); 65bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >(); 66bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, bidirectional_iterator<const int*>, int*>(); 67bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 68bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >(); 69bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >(); 70bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >(); 71bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >(); 72bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, random_access_iterator<const int*>, int*>(); 73bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 74bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, const int*, output_iterator<int*> >(); 75bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, const int*, forward_iterator<int*> >(); 76bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, const int*, bidirectional_iterator<int*> >(); 77bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, const int*, random_access_iterator<int*> >(); 78bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<input_iterator<const int*>, const int*, int*>(); 79bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 80bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >(); 81bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >(); 82bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >(); 83bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >(); 84bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, input_iterator<const int*>, int*>(); 85bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 86bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >(); 87bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >(); 88bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >(); 89bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >(); 90bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, forward_iterator<const int*>, int*>(); 91bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 92bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >(); 93bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >(); 94bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >(); 95bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >(); 96bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, bidirectional_iterator<const int*>, int*>(); 97bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 98bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >(); 99bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >(); 100bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >(); 101bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >(); 102bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, random_access_iterator<const int*>, int*>(); 103bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 104bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, const int*, output_iterator<int*> >(); 105bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, const int*, forward_iterator<int*> >(); 106bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, const int*, bidirectional_iterator<int*> >(); 107bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, const int*, random_access_iterator<int*> >(); 108bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<forward_iterator<const int*>, const int*, int*>(); 109bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 110bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >(); 111bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >(); 112bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >(); 113bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >(); 114bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, input_iterator<const int*>, int*>(); 115bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 116bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >(); 117bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >(); 118bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >(); 119bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >(); 120bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, forward_iterator<const int*>, int*>(); 121bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 122bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >(); 123bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >(); 124bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >(); 125bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >(); 126bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, int*>(); 127bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 128bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >(); 129bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >(); 130bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >(); 131bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >(); 132bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, int*>(); 133bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 134bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, const int*, output_iterator<int*> >(); 135bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, const int*, forward_iterator<int*> >(); 136bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, const int*, bidirectional_iterator<int*> >(); 137bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, const int*, random_access_iterator<int*> >(); 138bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<bidirectional_iterator<const int*>, const int*, int*>(); 139bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 140bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >(); 141bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >(); 142bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >(); 143bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >(); 144bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, input_iterator<const int*>, int*>(); 145bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 146bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >(); 147bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >(); 148bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >(); 149bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >(); 150bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, forward_iterator<const int*>, int*>(); 151bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 152bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >(); 153bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >(); 154bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >(); 155bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >(); 156bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, int*>(); 157bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 158bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >(); 159bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >(); 160bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >(); 161bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >(); 162bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, random_access_iterator<const int*>, int*>(); 163bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 164bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, const int*, output_iterator<int*> >(); 165bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, const int*, forward_iterator<int*> >(); 166bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, const int*, bidirectional_iterator<int*> >(); 167bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, const int*, random_access_iterator<int*> >(); 168bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<random_access_iterator<const int*>, const int*, int*>(); 169bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 170bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, input_iterator<const int*>, output_iterator<int*> >(); 171bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >(); 172bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >(); 173bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, input_iterator<const int*>, random_access_iterator<int*> >(); 174bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, input_iterator<const int*>, int*>(); 175bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 176bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, forward_iterator<const int*>, output_iterator<int*> >(); 177bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, forward_iterator<const int*>, forward_iterator<int*> >(); 178bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, forward_iterator<const int*>, bidirectional_iterator<int*> >(); 179bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, forward_iterator<const int*>, random_access_iterator<int*> >(); 180bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, forward_iterator<const int*>, int*>(); 181bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 182bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, bidirectional_iterator<const int*>, output_iterator<int*> >(); 183bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, bidirectional_iterator<const int*>, forward_iterator<int*> >(); 184bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >(); 185bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, bidirectional_iterator<const int*>, random_access_iterator<int*> >(); 186bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, bidirectional_iterator<const int*>, int*>(); 187bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 188bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, random_access_iterator<const int*>, output_iterator<int*> >(); 189bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, random_access_iterator<const int*>, forward_iterator<int*> >(); 190bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, random_access_iterator<const int*>, bidirectional_iterator<int*> >(); 191bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, random_access_iterator<const int*>, random_access_iterator<int*> >(); 192bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, random_access_iterator<const int*>, int*>(); 193bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 194bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, const int*, output_iterator<int*> >(); 195bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, const int*, forward_iterator<int*> >(); 196bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, const int*, bidirectional_iterator<int*> >(); 197bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, const int*, random_access_iterator<int*> >(); 198bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant test<const int*, const int*, int*>(); 199bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant} 200