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