mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-31 11:17:01 -07:00
43 lines
1.3 KiB
C++
43 lines
1.3 KiB
C++
#ifndef UTILS_H
|
|
#define UTILS_H
|
|
|
|
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
|
|
|
|
extern std::string join(
|
|
const std::vector<std::string>& values, const std::string& separator);
|
|
extern std::vector<std::string> split(
|
|
const std::string& string, char separator);
|
|
extern bool beginsWith(const std::string& value, const std::string& beginning);
|
|
extern bool endsWith(const std::string& value, const std::string& ending);
|
|
extern std::string toUpper(const std::string& value);
|
|
extern std::string leftTrimWhitespace(std::string value);
|
|
extern std::string rightTrimWhitespace(std::string value);
|
|
extern std::string trimWhitespace(const std::string& value);
|
|
extern std::string getLeafname(const std::string& value);
|
|
extern std::string toIso8601(time_t t);
|
|
extern std::string quote(const std::string& s);
|
|
extern std::string unhex(const std::string& s);
|
|
extern std::string tohex(const std::string& s);
|
|
extern bool doesFileExist(const std::string& filename);
|
|
extern uint32_t unbcd(uint32_t bcd);
|
|
|
|
template <class K, class V>
|
|
std::map<V, K> reverseMap(const std::map<K, V>& map)
|
|
{
|
|
std::map<V, K> reverse;
|
|
for (const auto& [k, v] : map)
|
|
reverse[v] = k;
|
|
return reverse;
|
|
}
|
|
|
|
/* If set, any running job will terminate as soon as possible (with an error).
|
|
*/
|
|
|
|
extern bool emergencyStop;
|
|
class EmergencyStopException
|
|
{
|
|
};
|
|
extern void testForEmergencyStop();
|
|
|
|
#endif
|