summaryrefslogtreecommitdiff
path: root/src/util/regexp.h
diff options
context:
space:
mode:
authorTianyi Liang <tianyi-liang@uiowa.edu>2013-10-21 22:08:53 -0500
committerTianyi Liang <tianyi-liang@uiowa.edu>2013-10-21 22:08:53 -0500
commitd676b7e044b7a92377cb3d9bb7063faefb80d7f9 (patch)
treea137ba033faa3ce76934973000e5a225770dcba6 /src/util/regexp.h
parent730e88ecb2b3ae6fdb9148c096820516c61356f3 (diff)
remove nested re or; opt loop
Diffstat (limited to 'src/util/regexp.h')
-rw-r--r--src/util/regexp.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/util/regexp.h b/src/util/regexp.h
index 024bfd32e..fef039371 100644
--- a/src/util/regexp.h
+++ b/src/util/regexp.h
@@ -159,6 +159,30 @@ public:
return convertUnsignedIntToChar( d_str[0] );
}
+ bool isRepeated() const {
+ if(d_str.size() > 1) {
+ unsigned int f = d_str[0];
+ for(unsigned i=1; i<d_str.size(); ++i) {
+ if(f != d_str[i]) return false;
+ }
+ }
+ return true;
+ }
+
+ bool tailcmp(const String &y, int &c) const {
+ int id_x = d_str.size() - 1;
+ int id_y = y.d_str.size() - 1;
+ while(id_x>=0 && id_y>=0) {
+ if(d_str[id_x] != y.d_str[id_y]) {
+ c = id_x;
+ return false;
+ }
+ --id_x; --id_y;
+ }
+ c = id_x == -1 ? ( - id_y) : id_x;
+ return true;
+ }
+
String substr(unsigned i) const {
std::vector<unsigned int> ret_vec;
std::vector<unsigned int>::const_iterator itr = d_str.begin() + i;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback