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.cpp | |
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.cpp')
-rw-r--r-- | src/util/regexp.cpp | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/src/util/regexp.cpp b/src/util/regexp.cpp index b1b454cfa..1c672d4b9 100644 --- a/src/util/regexp.cpp +++ b/src/util/regexp.cpp @@ -91,10 +91,10 @@ void String::toInternal(const std::string &s) { } } -void String::getCharSet(std::set<unsigned int> &cset) const { +void String::getCharSet(std::set<char> &cset) const { for(std::vector<unsigned int>::const_iterator itr = d_str.begin(); itr != d_str.end(); itr++) { - cset.insert( *itr ); + cset.insert( convertUnsignedIntToChar(*itr) ); } } @@ -114,33 +114,33 @@ std::string String::toString() const { std::string str; for(unsigned int i=0; i<d_str.size(); ++i) { char c = convertUnsignedIntToChar( d_str[i] ); - if(isprint( c )) { - if(c == '\\') { - str += "\\\\"; - } else if(c == '\"') { - str += "\\\""; - } else { - str += c; - } + if(isprint( c )) { + if(c == '\\') { + str += "\\\\"; + } else if(c == '\"') { + str += "\\\""; + } else { + str += c; + } } else { std::string s; switch(c) { - case '\a': s = "\\a"; break; - case '\b': s = "\\b"; break; - case '\t': s = "\\t"; break; - case '\r': s = "\\r"; break; - case '\v': s = "\\v"; break; - case '\f': s = "\\f"; break; - case '\n': s = "\\n"; break; - case '\e': s = "\\e"; break; - default : { - std::stringstream ss; - ss << std::setfill ('0') << std::setw(2) << std::hex << ((int)c); - std::string t = ss.str(); - t = t.substr(t.size()-2, 2); - s = "\\x" + t; - //std::string s2 = static_cast<std::ostringstream*>( &(std::ostringstream() << (int)c) )->str(); - } + case '\a': s = "\\a"; break; + case '\b': s = "\\b"; break; + case '\t': s = "\\t"; break; + case '\r': s = "\\r"; break; + case '\v': s = "\\v"; break; + case '\f': s = "\\f"; break; + case '\n': s = "\\n"; break; + case '\e': s = "\\e"; break; + default : { + std::stringstream ss; + ss << std::setfill ('0') << std::setw(2) << std::hex << ((int)c); + std::string t = ss.str(); + t = t.substr(t.size()-2, 2); + s = "\\x" + t; + //std::string s2 = static_cast<std::ostringstream*>( &(std::ostringstream() << (int)c) )->str(); + } } str += s; } |