Repository navigation
Expand file tree
/
Copy pathstring.hh
More file actions
53 lines (46 loc) · 2.04 KB
/
Copy pathstring.hh
File metadata and controls
53 lines (46 loc) · 2.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#ifndef ORO_RUNTIME_STRING_H
#define ORO_RUNTIME_STRING_H
#include <regex>
#include "platform.hh"
/**
* Converts a literal expression to an inline string:
* `CONVERT_TO_STRING(this_value)` becomes "this_value"
*/
#define _CONVERT_TO_STRING(value) #value
#define CONVERT_TO_STRING(value) _CONVERT_TO_STRING(value)
namespace oro::runtime::string {
using types::Map;
using types::Set;
using types::String;
using types::Vector;
using types::WString;
// transform
String replace (const String& source, const String& regex, const String& value);
String replace (const String& source, const std::regex& regex, const String& value);
String tmpl (const String& source, const Map<String, String>& variables);
String trim (String source);
String trimRight (String source, const String& characters = " \r\n\t");
String toLowerCase (const String& source);
String toUpperCase (const String& source);
String toProperCase (const String& source);
// conversion
WString convertStringToWString (const String& source);
WString convertStringToWString (const WString& source);
String convertWStringToString (const WString& source);
String convertWStringToString (const String& source);
// vector parsers
const Vector<String> splitc (const String& source, const char character);
const Vector<String> split (const String& source, const char character);
const Vector<String> split (const String& source, const String& needle);
const String join (const Vector<String>& vector, const String& separator);
const String join (const Vector<String>& vector, const char separator);
const String join (const Set<String>& set, const String& separator);
const String join (const Set<String>& set, const char separator);
Vector<String> parseStringList (const String& string, const Vector<char>& separators);
Vector<String> parseStringList (const String& string, const char separator);
Vector<String> parseStringList (const String& string);
#if ORO_RUNTIME_PLATFORM_WINDOWS
String formatWindowsError (DWORD error, const String& source);
#endif
}
#endif