MCPcopy Create free account
hub / github.com/Xtra-Computing/thundersvm / setArgs

Method setArgs

src/thundersvm/util/log.cpp:1240–1268  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1238// CommandLineArgs
1239
1240 void CommandLineArgs::setArgs(int argc, char** argv) {
1241 m_params.clear();
1242 m_paramsWithValue.clear();
1243 if (argc == 0 || argv == nullptr) {
1244 return;
1245 }
1246 m_argc = argc;
1247 m_argv = argv;
1248 for (int i = 1; i < m_argc; ++i) {
1249 const char* v = (strstr(m_argv[i], "="));
1250 if (v != nullptr && strlen(v) > 0) {
1251 std::string key = std::string(m_argv[i]);
1252 key = key.substr(0, key.find_first_of('='));
1253 if (hasParamWithValue(key.c_str())) {
1254 ELPP_INTERNAL_INFO(1, "Skipping [" << key << "] arg since it already has value ["
1255 << getParamValue(key.c_str()) << "]");
1256 } else {
1257 m_paramsWithValue.insert(std::make_pair(key, std::string(v + 1)));
1258 }
1259 }
1260 if (v == nullptr) {
1261 if (hasParam(m_argv[i])) {
1262 ELPP_INTERNAL_INFO(1, "Skipping [" << m_argv[i] << "] arg since it already exists");
1263 } else {
1264 m_params.push_back(std::string(m_argv[i]));
1265 }
1266 }
1267 }
1268 }
1269
1270 bool CommandLineArgs::hasParamWithValue(const char* paramKey) const {
1271 return m_paramsWithValue.find(std::string(paramKey)) != m_paramsWithValue.end();

Callers 1

Calls 1

clearMethod · 0.80

Tested by

no test coverage detected