diff options
Diffstat (limited to 'src/SVector.h')
| -rw-r--r-- | src/SVector.h | 24 | 
1 files changed, 6 insertions, 18 deletions
diff --git a/src/SVector.h b/src/SVector.h index 9f56da528..7b929190d 100644 --- a/src/SVector.h +++ b/src/SVector.h @@ -23,7 +23,6 @@ class SVector {  	int *v;				///< The vector  	unsigned int size;	///< Number of elements allocated  	unsigned int len;	///< Number of elements used in vector -	bool allocFailure;	///< A memory allocation call has failed  	/** Internally allocate more elements than the user wants  	 * to avoid thrashing the memory allocator. */ @@ -33,12 +32,8 @@ class SVector {  		else   			newSize = (newSize * 3) / 2;  		int* newv = new int[newSize]; -		if (!newv) { -			allocFailure = true; -			return; -		}  		size = newSize; -        	unsigned int i=0; +        unsigned int i=0;  		for (; i<len; i++) {  			newv[i] = v[i];  		} @@ -51,7 +46,6 @@ class SVector {  public:  	SVector() { -		allocFailure = false;  		v = 0;  		len = 0;  		size = 0; @@ -61,33 +55,27 @@ public:  	}  	/// Constructor from another vector.  	SVector(const SVector &other) { -		allocFailure = false;  		v = 0;  		len = 0;  		size = 0;  		if (other.Length() > 0) {  			SizeTo(other.Length()); -			if (!allocFailure) { -				for (int i=0;i<other.Length();i++) -					v[i] = other.v[i]; -				len = other.Length(); -			} +			for (int i=0;i<other.Length();i++) +				v[i] = other.v[i]; +			len = other.Length();  		}  	}  	/// Copy constructor.  	SVector &operator=(const SVector &other) {  		if (this != &other) {  			delete []v; -			allocFailure = false;  			v = 0;  			len = 0;  			size = 0;  			if (other.Length() > 0) {  				SizeTo(other.Length()); -				if (!allocFailure) { -					for (int i=0;i<other.Length();i++) -						v[i] = other.v[i]; -				} +				for (int i=0;i<other.Length();i++) +					v[i] = other.v[i];  				len = other.Length();  			}  		}  | 
