10#ifndef CPROVER_UTIL_STRING_UTILS_H
11#define CPROVER_UTIL_STRING_UTILS_H
73 for(
auto it=std::next(
b); it!=e; ++it)
88template <
typename Stream,
typename It,
typename Delimiter>
92 using value_type =
decltype(*b);
95 os,
b, e,
delimiter, [](
const value_type &
x) {
return x; });
100std::string
escape(
const std::string &);
123 const std::string &line,
125 const std::size_t width = 80);
143 const std::string::const_iterator left,
144 const std::string::const_iterator right,
146 const std::size_t width = 80);
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Stream & join_strings(Stream &&os, const It b, const It e, const Delimiter &delimiter, TransformFunc &&transform_func)
Prints items to an stream, separated by a constant delimiter.
std::string wrap_line(const std::string &line, const std::size_t left_margin=0, const std::size_t width=80)
Wrap line at spaces to not extend past the right margin, and include given padding with spaces to the...
void split_string(const std::string &s, char delim, std::string &left, std::string &right, bool strip=false)
std::string trim_from_last_delimiter(const std::string &s, const char delim)
std::string strip_string(const std::string &s)
Remove all whitespace characters from either end of a string.
std::string escape_non_alnum(const std::string &to_escape)
Replace non-alphanumeric characters with _xx escapes, where xx are hex digits.
std::string escape(const std::string &)
Generic escaping of strings; this is not meant to be a particular programming language.
std::string capitalize(const std::string &str)