25template <c_writable T>
26[[nodiscard]] std::string
as_string(
const T& value)
noexcept {
27 std::ostringstream oss;
34 return std::ranges::any_of(str, [](
unsigned char c) {
return std::isspace(c); });
45template <std::ranges::range R>
46requires(c_writable<std::ranges::range_value_t<R>>)
47[[nodiscard]] std::string
join(
const R& range,
const std::string_view delimiter =
", ") {
48 std::ostringstream oss;
50 auto it = std::ranges::begin(range);
51 const auto end = std::ranges::end(range);
55 for (; it != end; ++it)
56 oss << delimiter << *it;
Provides the general concept definitions.
bool contains_whitespaces(std::string_view str) noexcept
Checks whether a string contains any whitespace characters.
std::string as_string(const T &value) noexcept
Converts a value to std::string.
std::string join(const R &range, const std::string_view delimiter=", ")
Joins elements of a range into a single string with a delimiter.