diff options
| author | nyamatongwe <unknown> | 2012-07-10 16:54:38 +1000 | 
|---|---|---|
| committer | nyamatongwe <unknown> | 2012-07-10 16:54:38 +1000 | 
| commit | ff826c9bb5f479a9671532132e6a55149918d94e (patch) | |
| tree | 41c79ed3782f1e4ad1c9c12113eabaf27e79dbc6 /lexlib/CharacterSet.h | |
| parent | 492d1e785e977393f157d5b0021884e7fe0837f1 (diff) | |
| download | scintilla-mirror-ff826c9bb5f479a9671532132e6a55149918d94e.tar.gz | |
Added copy constructor and assignment operator to ease manipulation.
Diffstat (limited to 'lexlib/CharacterSet.h')
| -rw-r--r-- | lexlib/CharacterSet.h | 21 | 
1 files changed, 21 insertions, 0 deletions
diff --git a/lexlib/CharacterSet.h b/lexlib/CharacterSet.h index 929a3a6e1..a0c45b2fb 100644 --- a/lexlib/CharacterSet.h +++ b/lexlib/CharacterSet.h @@ -40,11 +40,32 @@ public:  		if (base & setDigits)  			AddString("0123456789");  	} +	CharacterSet(const CharacterSet &other) { +		size = other.size; +		valueAfter = other.valueAfter; +		bset = new bool[size]; +		for (int i=0; i < size; i++) { +			bset[i] = other.bset[i]; +		} +	}  	~CharacterSet() {  		delete []bset;  		bset = 0;  		size = 0;  	} +	CharacterSet &operator=(const CharacterSet &other) { +		if (this != &other) { +			bool *bsetNew = new bool[other.size]; +			for (int i=0; i < other.size; i++) { +				bsetNew[i] = other.bset[i]; +			} +			delete []bset; +			size = other.size; +			valueAfter = other.valueAfter; +			bset = bsetNew; +		} +		return *this; +	}  	void Add(int val) {  		assert(val >= 0);  		assert(val < size);  | 
