#ifndef UTILS_H #define UTILS_H #include #include #include #include #include #include #include template int check(int rc) { if (rc < 0) { char *err = strerror(errno); std::string msg(err); throw T(msg); } return rc; } std::list split(const std::string &input, const char sep, size_t max = std::numeric_limits::max(), bool keep_empty_parts = true); std::vector splitToVector(const std::string &input, const char sep, size_t max = std::numeric_limits::max(), bool keep_empty_parts = true); bool topicsMatch(const std::string &subscribeTopic, const std::string &publishTopic); bool isValidUtf8(const std::string &s); bool strContains(const std::string &s, const std::string &needle); bool isValidPublishPath(const std::string &s); void ltrim(std::string &s); void rtrim(std::string &s); void trim(std::string &s); bool startsWith(const std::string &s, const std::string &needle); #endif // UTILS_H