21template <
typename ContainerType>
23 &&
requires(ContainerType c) {
24 typename ContainerType::value_type;
33template <
typename ValueType,
typename StringConverterType>
35 std::invoke_result_t<StringConverterType, ValueType>,
51template <range_container ContainerType,
typename StringConverterType>
53 typename ContainerType::value_type,
57 const ContainerType& container,
58 const std::string& value_separator,
62 if (container.empty()) {
65 return std::ranges::fold_left(
66 std::ranges::next(std::ranges::begin(container)),
67 std::ranges::end(container),
69 [&](
const auto& left,
const auto& right) {
81template <
typename ContainerType>
83 && std::default_initializable<ContainerType>
85 typename ContainerType::value_type,
88 &&
requires(ContainerType c, std::filesystem::path p) {
91 typename ContainerType::value_type;
104 const std::string& separator =
", "
110 [](
const std::filesystem::path& path) {
111 return path.string();
The file_container concept specifies the requirements of a container which can be used as a file cont...
Definition utility.hpp:82
Define requirements for a range container.
Definition utility.hpp:22
Define requirements for a string converter.
Definition utility.hpp:34
Definition percentage.hpp:12
std::string to_string(const ContainerType &container, const std::string &value_separator, StringConverterType string_converter)
Convert any container to string using the string_converter.
Definition utility.hpp:56