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

Annotation of /trunk/gadget/modelvariablevector.cc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (view) (download)

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

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

Powered By FusionForge