23#include <fmt/format.h>
24#include <fmt/ranges.h>
25#include <google/protobuf/message.h>
29#include "cuttlefish/host/commands/cvd/cli/parser/load_config.pb.h"
40 return fmt::format(
"--{}={}", name, fmt::join(collection,
","));
45 const std::string& name,
46 const cvd::config::EnvironmentSpecification& config, T callback) {
47 if constexpr (std::is_invocable_v<T, const cvd::config::Instance&, size_t>) {
48 std::vector<
decltype(callback(config.instances()[0], 0))> values;
49 for (
size_t i = 0; i < config.instances_size(); ++i) {
50 values.emplace_back(callback(config.instances(i), i));
54 std::vector<
decltype(callback(config.instances()[0]))> values;
55 for (
size_t i = 0; i < config.instances_size(); ++i) {
56 values.emplace_back(callback(config.instances(i)));
64 const std::string& name,
65 const cvd::config::EnvironmentSpecification& config, T callback) {
66 std::vector<std::decay_t<
decltype(*callback(config.instances()[0]))>> values;
67 for (
const auto& instance : config.instances()) {
68 values.emplace_back(
CF_EXPECT(callback(instance)));
73std::vector<std::string>
MergeResults(std::vector<std::string> first_list,
74 std::vector<std::string> scond_list);
Definition: expected.h:86
#define CF_EXPECT(...)
Definition: result.h:414
EventFormat format
Definition: kernel_log_server.cc:57
Definition: alloc_utils.cpp:23
std::vector< std::string > MergeResults(std::vector< std::string > first_list, std::vector< std::string > scond_list)
Definition: cf_configs_common.cpp:28
std::string GenerateFlag(const std::string &name, const T &value)
Definition: cf_configs_common.h:34
void MergeTwoJsonObjs(Json::Value &dst, const Json::Value &src)
This function merges two json objects and override json tree in dst with src json keys.
Definition: cf_configs_common.cpp:44
std::string GenerateInstanceFlag(const std::string &name, const cvd::config::EnvironmentSpecification &config, T callback)
Definition: cf_configs_common.h:44
std::string GenerateVecFlag(const std::string &name, const T &collection)
Definition: cf_configs_common.h:39
Result< std::string > ResultInstanceFlag(const std::string &name, const cvd::config::EnvironmentSpecification &config, T callback)
Definition: cf_configs_common.h:63