diff options
author | Tianyi Liang <tianyi-liang@uiowa.edu> | 2014-12-06 13:24:01 -0600 |
---|---|---|
committer | Tianyi Liang <tianyi-liang@uiowa.edu> | 2014-12-06 13:26:24 -0600 |
commit | c4410c3123f7dc73bb0296ebe01c172e96b210cc (patch) | |
tree | e585487fee95d2098c9229b84db236b008fcba4c /src/util/regexp.h | |
parent | 5e2eef449c11b0be6b25942bccf7b0712ebe2d20 (diff) |
Added C++/Java api examples;
Converted cset to be vector of char, instead of vector of int, since we only accept ascii in input.
Diffstat (limited to 'src/util/regexp.h')
-rw-r--r-- | src/util/regexp.h | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/util/regexp.h b/src/util/regexp.h index 2b7bfa303..26d468a30 100644 --- a/src/util/regexp.h +++ b/src/util/regexp.h @@ -116,7 +116,7 @@ public: if(d_str.size() != y.d_str.size()) return d_str.size() < y.d_str.size(); else { for(unsigned int i=0; i<d_str.size(); ++i) - if(d_str[i] != y.d_str[i]) return d_str[i] < y.d_str[i]; + if(d_str[i] != y.d_str[i]) return convertUnsignedIntToChar(d_str[i]) < convertUnsignedIntToChar(y.d_str[i]); return false; } @@ -126,7 +126,7 @@ public: if(d_str.size() != y.d_str.size()) return d_str.size() > y.d_str.size(); else { for(unsigned int i=0; i<d_str.size(); ++i) - if(d_str[i] != y.d_str[i]) return d_str[i] > y.d_str[i]; + if(d_str[i] != y.d_str[i]) return convertUnsignedIntToChar(d_str[i]) > convertUnsignedIntToChar(y.d_str[i]); return false; } @@ -136,7 +136,7 @@ public: if(d_str.size() != y.d_str.size()) return d_str.size() < y.d_str.size(); else { for(unsigned int i=0; i<d_str.size(); ++i) - if(d_str[i] != y.d_str[i]) return d_str[i] < y.d_str[i]; + if(d_str[i] != y.d_str[i]) return convertUnsignedIntToChar(d_str[i]) < convertUnsignedIntToChar(y.d_str[i]); return true; } @@ -146,7 +146,7 @@ public: if(d_str.size() != y.d_str.size()) return d_str.size() > y.d_str.size(); else { for(unsigned int i=0; i<d_str.size(); ++i) - if(d_str[i] != y.d_str[i]) return d_str[i] > y.d_str[i]; + if(d_str[i] != y.d_str[i]) return convertUnsignedIntToChar(d_str[i]) > convertUnsignedIntToChar(y.d_str[i]); return true; } @@ -188,10 +188,10 @@ public: return ( d_str.size() == 0 ); } - unsigned int operator[] (const std::size_t i) const { + /*char operator[] (const std::size_t i) const { assert( i < d_str.size() ); - return d_str[i]; - } + return convertUnsignedIntToChar(d_str[i]); + }*/ /* * Convenience functions */ @@ -205,6 +205,11 @@ public: return convertUnsignedIntToChar( d_str[0] ); } + char getLastChar() const { + assert(d_str.size() != 0); + return convertUnsignedIntToChar( d_str[d_str.size() - 1] ); + } + bool isRepeated() const { if(d_str.size() > 1) { unsigned int f = d_str[0]; @@ -307,7 +312,12 @@ public: return -1; } } - void getCharSet(std::set<unsigned int> &cset) const; + + void getCharSet(std::set<char> &cset) const; + + std::vector<unsigned int> getVec() const { + return d_str; + } };/* class String */ namespace strings { |