Vuo  2.4.0
VuoStringUtilities.hh
Go to the documentation of this file.
1
10#pragma once
11
12#include <locale>
13#include <set>
14
19{
20public:
21 static bool beginsWith(string wholeString, string beginning);
22 static bool endsWith(string wholeString, string ending);
23 static string substrAfter(string wholeString, string beginning);
24 static string substrBefore(string wholeString, string ending);
25 static string replaceAll(string wholeString, char originalChar, char replacementChar);
26 static size_t replaceAll(string &wholeString, string originalSubstring, string replacementSubstring);
27 static vector<string> split(const string &wholeString, char delimiter);
28 static string join(vector<string> partialStrings, char delimiter);
29 static string join(vector<string> partialStrings, string delimiter);
30 static string join(set<string> partialStrings, string delimiter);
31 static string trim(string originalString);
32
33 static string buildCompositionIdentifier(const string &parentCompositionIdentifier, const string &nodeIdentifier);
34 static string buildPortIdentifier(const string &nodeIdentifier, const string &portName);
35 static string prefixSymbolName(string symbolName, string moduleKey);
36 static bool isValidCharInIdentifier(char ch);
37 static string transcodeToIdentifier(string str);
38 static string transcodeToGraphvizIdentifier(const string &originalString);
39 static string transcodeFromGraphvizIdentifier(const string &graphvizIdentifier);
40 static string formUniqueIdentifier(set<string> &takenIdentifiers, const string &preferredIdentifier, const string &identifierPrefix = "");
41 static string formUniqueIdentifier(std::function<bool(const string &)> isIdentifierAvailable, const string &preferredIdentifier, const string &identifierPrefix = "");
42
43 static string generateHtmlFromMarkdown(const string &markdownString);
44 static string generateHtmlFromMarkdownLine(const string &markdownString);
45
46 static string convertToCamelCase(const string &originalString, bool capitalizeFirstLetter, bool forceFirstLetterToLower, bool forceInterveningLettersToLower,
47 bool allowSeparatorDots = false);
48 static string expandCamelCase(string camelCaseString);
49
50 static string makeFromCFString(const void *cfs);
51 static string makeRandomHash(int length);
52
56 static inline long hash(const string &s)
57 {
58 return collate.hash(s.data(), s.data() + s.length());
59 }
60
61 static const std::locale locale;
62 static const std::collate<char> &collate;
63
64 static string calculateSHA256(const string &s);
65};