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/popinfovector.cc
[mareframe] / trunk / gadget / popinfovector.cc Repository:
ViewVC logotype

Annotation of /trunk/gadget/popinfovector.cc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (view) (download)

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

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

Powered By FusionForge