Add strutils::starts_with and strutils::ends_with
This commit is contained in:
@@ -200,5 +200,18 @@ namespace simgear {
|
|||||||
return reply.insert( 0, length-l, c );
|
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 strutils
|
||||||
} // end namespace simgear
|
} // end namespace simgear
|
||||||
|
|||||||
@@ -97,6 +97,24 @@ namespace simgear {
|
|||||||
split( const std::string& s,
|
split( const std::string& s,
|
||||||
const char* sep = 0,
|
const char* sep = 0,
|
||||||
int maxsplit = 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 strutils
|
||||||
} // end namespace simgear
|
} // end namespace simgear
|
||||||
|
|||||||
Reference in New Issue
Block a user