28constexpr typename std::underlying_type_t<T>
Enum2Base(T t) {
29 return static_cast<typename std::underlying_type_t<T>
>(t);
35template <
typename Delim,
typename...
Args>
38 ([&ss, &delim](
auto& arg) { ss << arg << delim; }(args), ...);
39 auto result = ss.str();
40 std::string delim_str(delim);
41 if (!result.empty() && !delim_str.empty()) {
42 for (
int i = 0; i < delim_str.size(); i++) {
50template <
typename...
Args>
56 return std::all_of(src.begin(), src.end(),
57 [](
int c) ->
bool { return std::isdigit(c); });
61#define ConfUiLog(LOG_LEVEL) LOG(LOG_LEVEL) << "ConfUI: "
64#define ConfUiCheck(cond) CHECK(cond) << "ConfUI: "
std::string ArgsToStringWithDelim(Delim &&delim, Args &&... args)
Definition: utils.h:36
std::string ArgsToString(Args &&... args)
Definition: utils.h:51
bool IsOnlyDigits(const std::string &src)
Definition: utils.h:55
Definition: alloc_utils.cpp:23
constexpr std::underlying_type_t< T > Enum2Base(T t)
Definition: utils.h:28
std::vector< std::string_view > Args
Definition: incremental.h:28