Log In | Get Help   
Home My Page Projects Code Snippets Project Openings Mareframe
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files
[mareframe] Annotation of /trunk/gadget/popinfoindexvector.cc
[mareframe] / trunk / gadget / popinfoindexvector.cc Repository:
ViewVC logotype

Annotation of /trunk/gadget/popinfoindexvector.cc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (view) (download)

1 : agomez 1 #include "popinfoindexvector.h"
2 :     #include "gadget.h"
3 :    
4 :     PopInfoIndexVector::PopInfoIndexVector(int sz, int minp) {
5 :     size = (sz > 0 ? sz : 0);
6 :     minpos = minp;
7 :     if (size > 0)
8 :     v = new PopInfo[size];
9 :     else
10 :     v = 0;
11 :     }
12 :    
13 :     PopInfoIndexVector::PopInfoIndexVector(int sz, int minp, PopInfo value) {
14 :     size = (sz > 0 ? sz : 0);
15 :     minpos = minp;
16 :     int i;
17 :     if (size > 0) {
18 :     v = new PopInfo[size];
19 :     for (i = 0; i < size; i++)
20 :     v[i] = value;
21 :     } else
22 :     v = 0;
23 :     }
24 :    
25 :     PopInfoIndexVector::PopInfoIndexVector(const PopInfoIndexVector& initial) {
26 :     size = initial.size;
27 :     minpos = initial.minpos;
28 :     int i;
29 :     if (size > 0) {
30 :     v = new PopInfo[size];
31 :     for (i = 0; i < size; i++)
32 :     v[i] = initial.v[i];
33 :     } else
34 :     v = 0;
35 :     }
36 :    
37 :     PopInfoIndexVector::~PopInfoIndexVector() {
38 :     if (v != 0) {
39 :     delete[] v;
40 :     v = 0;
41 :     }
42 :     }
43 :    
44 :     void PopInfoIndexVector::resize(int addsize, int lower, PopInfo initial) {
45 :     if (addsize <= 0)
46 :     return;
47 :    
48 :     int i;
49 :     if (v == 0) {
50 :     size = addsize;
51 :     minpos = lower;
52 :     v = new PopInfo[size];
53 :     for (i = 0; i < size; i++)
54 :     v[i] = initial;
55 :    
56 :     } else {
57 :     PopInfo* vnew = new PopInfo[size + addsize];
58 :     for (i = 0; i < size; i++)
59 :     vnew[i + minpos - lower] = v[i];
60 :     delete[] v;
61 :     v = vnew;
62 :     for (i = size; i < size + addsize; i++)
63 :     v[i] = initial;
64 :     for (i = 0; i < minpos - lower; i++)
65 :     v[i] = initial;
66 :     size += addsize;
67 :     minpos = lower;
68 :     }
69 :     }

root@forge.cesga.es
ViewVC Help
Powered by ViewVC 1.0.0  

Powered By FusionForge