#pragma once #include #include #include #include "include/internal/cef_string.h" typedef void (*DestroyFn)(void*); inline std::string join_strings(const std::vector& strings, const std::string& delimiter) { return std::accumulate(strings.begin(), strings.end(), std::string(), [&](const std::string& a, const CefString& b) { auto b_ = b.ToString(); return a.empty() ? b_ : a + delimiter + b_; }); } inline std::vector split_string(const std::string& str, const std::string& delimiter) { std::vector result; std::string::size_type start = 0; std::string::size_type end; while ((end = str.find(delimiter, start)) != std::string::npos) { result.emplace_back(CefString(str.substr(start, end - start))); start = end + delimiter.length(); } auto last = str.substr(start); if (!last.empty()) { result.emplace_back(CefString(last)); } return result; }