mirror of
https://github.com/holub/mame
synced 2025-07-02 08:39:21 +03:00
Returning a reference from various corestr.cpp calls to avoid unnecessary string copies (#2613)
This commit is contained in:
parent
e0c2b67676
commit
d217e1fbec
@ -171,7 +171,7 @@ void strreplacechr(std::string& str, char ch, char newch)
|
||||
}
|
||||
}
|
||||
|
||||
static std::string internal_strtrimspace(std::string& str, bool right_only)
|
||||
static std::string &internal_strtrimspace(std::string& str, bool right_only)
|
||||
{
|
||||
// identify the start
|
||||
std::string::iterator start = str.begin();
|
||||
@ -196,33 +196,33 @@ static std::string internal_strtrimspace(std::string& str, bool right_only)
|
||||
return str;
|
||||
}
|
||||
|
||||
std::string strtrimspace(std::string& str)
|
||||
std::string &strtrimspace(std::string& str)
|
||||
{
|
||||
return internal_strtrimspace(str, false);
|
||||
}
|
||||
|
||||
std::string strtrimrightspace(std::string& str)
|
||||
std::string &strtrimrightspace(std::string& str)
|
||||
{
|
||||
return internal_strtrimspace(str, true);
|
||||
}
|
||||
|
||||
std::string strmakeupper(std::string& str)
|
||||
std::string &strmakeupper(std::string& str)
|
||||
{
|
||||
std::transform(str.begin(), str.end(), str.begin(), ::toupper);
|
||||
return str;
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn std::string strmakelower(std::string& str)
|
||||
* @fn std::string &strmakelower(std::string& str)
|
||||
*
|
||||
* @brief Strmakelowers the given string.
|
||||
* @brief Changes the given string to lower case.
|
||||
*
|
||||
* @param [in,out] str The string.
|
||||
* @param [in,out] str The string to make lower case
|
||||
*
|
||||
* @return A std::string.
|
||||
* @return A reference to the original std::string having been changed to lower case
|
||||
*/
|
||||
|
||||
std::string strmakelower(std::string& str)
|
||||
std::string &strmakelower(std::string& str)
|
||||
{
|
||||
std::transform(str.begin(), str.end(), str.begin(), ::tolower);
|
||||
return str;
|
||||
|
@ -66,10 +66,10 @@ int strcatvprintf(std::string &str, const char *format, va_list args);
|
||||
|
||||
void strdelchr(std::string& str, char chr);
|
||||
void strreplacechr(std::string& str, char ch, char newch);
|
||||
std::string strtrimspace(std::string& str);
|
||||
std::string strtrimrightspace(std::string& str);
|
||||
std::string strmakeupper(std::string& str);
|
||||
std::string strmakelower(std::string& str);
|
||||
std::string &strtrimspace(std::string& str);
|
||||
std::string &strtrimrightspace(std::string& str);
|
||||
std::string &strmakeupper(std::string& str);
|
||||
std::string &strmakelower(std::string& str);
|
||||
int strreplace(std::string &str, const std::string& search, const std::string& replace);
|
||||
|
||||
#endif /* __CORESTR_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user