23#include "fmt/format.h"
24#include "fmt/ranges.h"
25#include "google/protobuf/message.h"
28#include "cuttlefish/host/commands/cvd/cli/parser/load_config.pb.h"
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);
#define CF_EXPECT(...)
Definition: expect.h:149
char * name
Definition: libf2fs.c:1403
EventFormat format
Definition: kernel_log_server.cc:60
Definition: alloc_driver.h:20
std::vector< std::string > MergeResults(std::vector< std::string > first_list, std::vector< std::string > scond_list)
Definition: cf_configs_common.cpp:26
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:42
tl::expected< T, StackTraceError > Result
Definition: result_type.h:30
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