The following code example is taken from the book
The C++ Standard Library - A Tutorial and Reference
by Nicolai M. Josuttis, Addison-Wesley, 1999
© Copyright Nicolai M. Josuttis 1999
#include "algostuff.hpp"
using namespace std;
int main()
{
deque<int> coll;
list<int> subcoll;
INSERT_ELEMENTS(coll,1,7);
INSERT_ELEMENTS(coll,1,7);
INSERT_ELEMENTS(subcoll,3,6);
PRINT_ELEMENTS(coll, "coll: ");
PRINT_ELEMENTS(subcoll,"subcoll: ");
// search first occurrence of subcoll in coll
deque<int>::iterator pos;
pos = search (coll.begin(), coll.end(), // range
subcoll.begin(), subcoll.end()); // subrange
// loop while subcoll found as subrange of coll
while (pos != coll.end()) {
// print position of first element
cout << "subcoll found starting with element "
<< distance(coll.begin(),pos) + 1
<< endl;
// search next occurrence of subcoll
++pos;
pos = search (pos, coll.end(), // range
subcoll.begin(), subcoll.end()); // subrange
}
}