/// If \p keepempty is true, empty strings will be pushed to the vector as well
/// If \p trimit is true, leading and trailing whitespace will be trimmed from
/// all values. Note that this can affect what counts as "empty".
+/// NOTE: If you want to split a string on whitespace, then do:
+/// getVectorFromString(str, " ", false, true);
std::vector<std::string> const getVectorFromString(std::string const & str,
std::string const & delim = std::string(","),
bool keepempty = false, bool trimit = true);
/// like "1000000.000000", and precision control would not be that easy either.
std::string formatFPNumber(double);
+/// Returns an URI/URL-style percent-encoded copy of the string \p in.
+/// \p ex defines a string of characters that are excluded from the transformation
+docstring to_percent_encoding(docstring const & in, docstring const & ex = docstring());
+
docstring bformat(docstring const & fmt, int arg1);
docstring bformat(docstring const & fmt, long arg1);