File: search1.cpp

package info (click to toggle)
stlport4.6 4.6.2-7
  • links: PTS, VCS
  • area: main
  • in suites: squeeze, wheezy
  • size: 7,056 kB
  • ctags: 16,390
  • sloc: ansic: 46,190; cpp: 18,805; sh: 266; asm: 93; perl: 58; makefile: 10
file content (60 lines) | stat: -rw-r--r-- 1,427 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// STLport regression testsuite component.
// To compile as a separate example, please #define MAIN.
#include <iterator>

#include <algorithm>
#include <vector>
#include <iostream>
#include <iterator>
// #include <functional>
#include <numeric>

#ifdef MAIN 
#define search1_test main
#endif

#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES)
using namespace std;
#endif
int search1_test(int, char**)
{
  cout<<"Results of search1_test:"<<endl;
  typedef vector <int> IntVec;
  IntVec v1(10);
  iota(v1.begin(), v1.end(), 0);
  IntVec v2(3);
  iota(v2.begin(), v2.end(), 50);
  ostream_iterator <int> iter(cout, " ");

  cout << "v1: ";
  copy(v1.begin(), v1.end(), iter);
  cout << endl;
  cout << "v2: ";
  copy(v2.begin(), v2.end(), iter);
  cout << endl;

  IntVec::iterator location;
  location = search(v1.begin(), v1.end(), v2.begin(), v2.end());

  if(location == v1.end())
    cout << "v2 not contained in v1" << endl;
  else
    cout << "Found v2 in v1 at offset: " << location - v1.begin() << endl;

  iota(v2.begin(), v2.end(), 4);
  cout << "v1: ";
  copy(v1.begin(), v1.end(), iter);
  cout << endl;
  cout << "v2: ";
  copy(v2.begin(), v2.end(), iter);
  cout << endl;

  location = search(v1.begin(), v1.end(), v2.begin(), v2.end());

  if(location == v1.end())
    cout << "v2 not contained in v1" << endl;
  else
    cout << "Found v2 in v1 at offset: " << location - v1.begin() << endl;

  return 0;
}