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

Annotation of /trunk/gadget/parametervector.cc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (view) (download)

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

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

Powered By FusionForge