13 #ifndef MLIR_SUPPORT_STRINGEXTRAS_H 14 #define MLIR_SUPPORT_STRINGEXTRAS_H 16 #include "llvm/ADT/StringExtras.h" 25 std::string snakeCase;
26 snakeCase.reserve(input.size());
27 for (
auto c : input) {
28 if (std::isupper(c)) {
29 if (!snakeCase.empty() && snakeCase.back() !=
'_') {
30 snakeCase.push_back(
'_');
32 snakeCase.push_back(llvm::toLower(c));
34 snakeCase.push_back(c);
45 bool capitalizeFirst =
false) {
50 output.reserve(input.size());
52 if (capitalizeFirst && std::islower(input[pos])) {
53 output.push_back(llvm::toUpper(input[pos]));
56 while (pos < input.size()) {
57 auto cur = input[pos];
59 if (pos && (pos + 1 < input.size())) {
60 if (std::islower(input[pos + 1])) {
61 output.push_back(llvm::toUpper(input[pos + 1]));
67 output.push_back(cur);
74 #endif // MLIR_SUPPORT_STRINGEXTRAS_H Definition: InferTypeOpInterface.cpp:20
std::string convertToCamelCase(llvm::StringRef input, bool capitalizeFirst=false)
Definition: StringExtras.h:44
std::string convertToSnakeCase(llvm::StringRef input)
Definition: StringExtras.h:24