fix a memory leak
[charm.git] / examples / charm++ / cksequence / cksequence_test.C
1 ////////////////////////////////////
2 //
3 //  cksequence_test.C
4 //
5 //  Definition of chares in cksequence_test
6 //
7 //
8 ////////////////////////////////////
9
10 #include "cksequence_test.decl.h"
11
12 #include "cksequence.h"
13 #include <vector>
14 #include  <set>
15
16 void FillRandomSeq(std::set<int> &vec) {
17   srand(1024);
18   int total_elements = 1000000;
19   int max_element = 10000;
20   int counter = total_elements;
21
22   while (counter-- > 0) {
23     vec.insert(rand() % max_element);
24   }
25 }
26
27
28 class Main: public CBase_Main {
29   public:
30     Main(CkArgMsg *m) {
31       std::set<int> vec;
32       FillRandomSeq(vec);
33       CkSequence<int> seq(vec.begin(), vec.end());
34       seq.DoneInserting();
35
36       CkSequence<int>::iterator it;
37       CkSequence<int>::iterator it_end = seq.end();
38
39       std::set<int>::iterator set_it = vec.begin();
40       std::set<int>::iterator set_it_end = vec.end();
41
42       for (it = seq.begin(); it != seq.end(); ++it, ++set_it) {
43         if (*it != *set_it) {
44           CkPrintf("Irregularities %d : %d\n", *it, *set_it);
45         }
46       }
47       CkPrintf("Test passed!!\n");
48
49       delete m;
50       CkExit();
51     };
52
53 };
54
55 #include "cksequence_test.def.h"