Health-GPS 3.0.0.0
Global Health Policy Simulation model (Health-GPS)
Loading...
Searching...
No Matches
string_util.h
Go to the documentation of this file.
1#pragma once
2#include <functional>
3#include <string>
4
5namespace hgps::core {
6
10std::string trim(std::string value) noexcept;
11
15std::string to_lower(const std::string_view &value) noexcept;
16
20std::string to_upper(const std::string_view &value) noexcept;
21
26std::vector<std::string_view> split_string(const std::string_view &value,
27 std::string_view delims) noexcept;
28
30struct case_insensitive final {
31
33 struct comparator {
38 bool operator()(const std::string_view &left, const std::string_view &right) const;
39 };
40
45 static std::weak_ordering compare(const std::string_view &left,
46 const std::string_view &right) noexcept;
47
52 static bool equals(const std::string_view &left, const std::string_view &right) noexcept;
53
58 static bool contains(const std::string_view &text, const std::string_view &str) noexcept;
59
64 static bool contains(const std::vector<std::string> &source,
65 const std::string_view &element) noexcept;
66
71 static bool starts_with(const std::string_view &text, const std::string_view &str) noexcept;
72
77 static bool ends_with(const std::string_view &text, const std::string_view &str) noexcept;
78
83 static int index_of(const std::vector<std::string> &source,
84 const std::string_view &element) noexcept;
85
86 private:
87 static bool equal_char(char left, char right) noexcept;
88};
89} // namespace hgps::core
Top-level namespace for Health-GPS Core C++ API.
Definition analysis.h:7
std::vector< std::string_view > split_string(const std::string_view &value, std::string_view delims) noexcept
Splits a string into substrings based on specified delimiting characters.
Definition string_util.cpp:35
std::string to_lower(const std::string_view &value) noexcept
Converts the given ASCII string to lower-case.
Definition string_util.cpp:19
std::string trim(std::string value) noexcept
Trim leading and trailing occurrences of white-space characters from string.
Definition string_util.cpp:6
std::string to_upper(const std::string_view &value) noexcept
Converts the given ASCII string to upper-case.
Definition string_util.cpp:27
Case-insensitive ASCII strings comparator structure.
Definition string_util.h:33
bool operator()(const std::string_view &left, const std::string_view &right) const
Case-insensitive ASCII strings default comparer.
Definition string_util.cpp:56
Case-insensitive operations on ASCII strings.
Definition string_util.h:30
static std::weak_ordering compare(const std::string_view &left, const std::string_view &right) noexcept
Weak-ordering case-insensitive ASCII strings comparer.
Definition string_util.cpp:63
static int index_of(const std::vector< std::string > &source, const std::string_view &element) noexcept
Finds the zero-based index of the first occurrence of an element in a vector.
Definition string_util.cpp:137
static bool equals(const std::string_view &left, const std::string_view &right) noexcept
Compare two case-insensitive ASCII string for equality.
Definition string_util.cpp:80
static bool contains(const std::string_view &text, const std::string_view &str) noexcept
Checks whether a specified substring occurs within a ASCII string.
Definition string_util.cpp:86
static bool ends_with(const std::string_view &text, const std::string_view &str) noexcept
Determines whether the end of a ASCII string matches a specified string.
Definition string_util.cpp:117
static bool starts_with(const std::string_view &text, const std::string_view &str) noexcept
Determines whether the start of a ASCII string matches a specified string.
Definition string_util.cpp:101