diff -r 000000000000 -r 6f7a81934006 lib/mystring/find_last_of.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/mystring/find_last_of.cc Wed Jan 16 22:39:43 2008 +0100 @@ -0,0 +1,24 @@ +#include "mystring.h" +#include + +int mystring::find_last_of(const char* setstr, size_t setlen, + size_t offset) const +{ + if(offset == (size_t)-1) + offset = rep->length-1; + for(int i = offset; i >= 0; --i) { + if(memchr(setstr, rep->buf[i], setlen)) + return i; + } + return -1; +} + +int mystring::find_last_of(const char* setstr, size_t offset) const +{ + return find_last_of(setstr, strlen(setstr), offset); +} + +int mystring::find_last_of(const mystring& setstr, size_t offset) const +{ + return find_last_of(setstr.rep->buf, setstr.rep->length, offset); +}