aboutsummaryrefslogtreecommitdiffhomepage
path: root/lexlib/CharacterSet.h
diff options
context:
space:
mode:
authornyamatongwe <devnull@localhost>2012-07-10 16:54:38 +1000
committernyamatongwe <devnull@localhost>2012-07-10 16:54:38 +1000
commitd6c13c887bed0c7fb84edd56d6268bb7696ccf0e (patch)
tree844bc72d5567123c61c1eddfd938f88bd9f4e3c5 /lexlib/CharacterSet.h
parentdb705286b0f31634e3ad1507d67bffb71ff234fd (diff)
downloadscintilla-mirror-d6c13c887bed0c7fb84edd56d6268bb7696ccf0e.tar.gz
Added copy constructor and assignment operator to ease manipulation.
Diffstat (limited to 'lexlib/CharacterSet.h')
-rw-r--r--lexlib/CharacterSet.h21
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);