26#ifndef HARNESS_STRING_INCLUDED
27#define HARNESS_STRING_INCLUDED
29#include "harness_export.h"
38std::vector<std::string> HARNESS_EXPORT
wrap_string(
const std::string &to_wrap,
40 std::size_t indent_size);
43MY_ATTRIBUTE((format(printf, 1, 2)))
55concept range =
requires(
const R &rng) {
75 requires(std::constructible_from<std::string,
decltype(*
std::begin(rng))>)
78 const auto end = std::end(rng);
80 if (cur == end)
return {};
82 std::string joined(*cur);
85 for (cur = std::next(cur); cur != end; cur = std::next(cur)) {
86 joined.append(delim).append(*cur);
96 if (v == k)
return true;
Header for compiler-dependent features.
Definition: ut0tuple.h:57
HARNESS_EXPORT std::string string_format(const char *format,...)
Definition: utilities.cc:64
std::vector< std::string > HARNESS_EXPORT wrap_string(const std::string &to_wrap, std::size_t width, std::size_t indent_size)
constexpr bool str_in_collection(const T &t, const std::string_view &k)
Definition: string.h:94
std::string join(const detail::range auto &rng, std::string_view delim)
join elements of a range into a string separated by a delimiter.
Definition: string.h:74
const char * begin(const char *const c)
Definition: base64.h:44
Definition: gcs_xcom_synode.h:64