diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/CaseConvert.cxx | 8 | ||||
-rw-r--r-- | src/CaseConvert.h | 3 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/CaseConvert.cxx b/src/CaseConvert.cxx index 63a27222b..e84fbdab4 100644 --- a/src/CaseConvert.cxx +++ b/src/CaseConvert.cxx @@ -630,6 +630,14 @@ size_t CaseConvertString(char *converted, size_t sizeConverted, const char *mixe return pCaseConv->CaseConvertString(converted, sizeConverted, mixed, lenMixed); } +std::string CaseConvertString(const std::string &s, enum CaseConversion conversion) { + std::string retMapped(s.length() * maxExpansionCaseConversion, 0); + size_t lenMapped = CaseConvertString(&retMapped[0], retMapped.length(), s.c_str(), s.length(), + conversion); + retMapped.resize(lenMapped); + return retMapped; +} + #ifdef SCI_NAMESPACE } #endif diff --git a/src/CaseConvert.h b/src/CaseConvert.h index 60de22799..7a0100300 100644 --- a/src/CaseConvert.h +++ b/src/CaseConvert.h @@ -40,6 +40,9 @@ const int maxExpansionCaseConversion=3; // If there is not enough space then 0 is returned. size_t CaseConvertString(char *converted, size_t sizeConverted, const char *mixed, size_t lenMixed, enum CaseConversion conversion); +// Converts a mixed case string using a particular conversion. +std::string CaseConvertString(const std::string &s, enum CaseConversion conversion); + #ifdef SCI_NAMESPACE } #endif |