aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CaseConvert.cxx8
-rw-r--r--src/CaseConvert.h3
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