Add strutils::starts_with and strutils::ends_with

This commit is contained in:
Torsten Dreyer
2011-02-20 15:29:06 +01:00
parent ce71b8c1cf
commit a079870bca
2 changed files with 31 additions and 0 deletions

View File

@@ -200,5 +200,18 @@ namespace simgear {
return reply.insert( 0, length-l, c );
}
bool
starts_with( const string & s, const string & substr )
{
return s.find( substr ) == 0;
}
bool
ends_with( const string & s, const string & substr )
{
size_t n = s.rfind( substr );
return (n != string::npos) && (n == s.length() - substr.length());
}
} // end namespace strutils
} // end namespace simgear

View File

@@ -97,6 +97,24 @@ namespace simgear {
split( const std::string& s,
const char* sep = 0,
int maxsplit = 0 );
/**
* Test if a string starts with a string
*
* @param s The string to be tested
* @param substr The string to test
* @return True, if s starts with substr, False otherwise
*/
bool starts_with( const std::string & s, const std::string & substr );
/**
* Test if a string ends with a string
*
* @param s The string to be tested
* @param substr The string to test
* @return True, if s ends with substr, False otherwise
*/
bool ends_with( const std::string & s, const std::string & substr );
} // end namespace strutils
} // end namespace simgear