Text archives Help
- From: hansong@sci.utah.edu
- To: manta@sci.utah.edu
- Subject: [MANTA] r439 - branches/itanium2/Model/Groups
- Date: Fri, 22 Jul 2005 16:39:56 -0600 (MDT)
Author: hansong
Date: Fri Jul 22 16:39:55 2005
New Revision: 439
Modified:
branches/itanium2/Model/Groups/varray.h
Log:
add different constructor
Modified: branches/itanium2/Model/Groups/varray.h
==============================================================================
--- branches/itanium2/Model/Groups/varray.h (original)
+++ branches/itanium2/Model/Groups/varray.h Fri Jul 22 16:39:55 2005
@@ -34,6 +34,9 @@
VArray(int initMaxLen) {
init(initMaxLen);
}
+ VArray(int initMaxLen, int initVal) {
+ init(initMaxLen, initVal);
+ }
void init(int initMaxLen) {
curLen = 0;
@@ -42,6 +45,14 @@
assert (array != NULL);
}
+ void init(int initMaxLen, int initVal) {
+ curLen = 0;
+ curMaxLen = initMaxLen;
+ array = (T*)malloc(curMaxLen * sizeof(T));
+ assert (array != NULL);
+ memset(array, initVal, curMaxLen*sizeof(T));
+ }
+
inline int getLen() { return curLen; }
inline int getNum() { return curLen; }
inline void setLen(int len) {
@@ -51,7 +62,7 @@
if (array)
array = (T*)realloc(array,
curMaxLen*sizeof(T));
else
- array = (T*)calloc(curMaxLen, sizeof(T));
+ array = (T*)malloc(curMaxLen*sizeof(T));
}
assert (array != NULL);
}
@@ -61,7 +72,7 @@
assert (array != NULL);
}
inline void reset() { curLen=0; }
- inline void append() {
+ inline T& append() {
if (curLen < curMaxLen)
curLen ++;
else {
@@ -74,6 +85,7 @@
assert(array != NULL);
curLen ++;
}
+ return array[curLen-1];
}
inline void append(const T& data) {
- [MANTA] r439 - branches/itanium2/Model/Groups, hansong, 07/22/2005
Archive powered by MHonArc 2.6.16.