+MSPCORE_API std::vector<std::string> split_fields(const std::string &str, char sep, int max_split = -1);
+
+/** Appends a string to another, using a separator if both are non-empty. */
+MSPCORE_API std::string &append(std::string &str, const std::string &sep, const std::string &other);
+
+/** Joins two strings, using a separator if both are non-empty. */
+MSPCORE_API std::string join(const std::string &str1, const std::string &sep, const std::string &str2);