MCPcopy Create free account
hub / github.com/OpenPPL/ppl.nn / parse_args

Function parse_args

tools/simple_flags.cc:511–626  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

509}
510
511int parse_args(int argc, char** argv) {
512#define CHECK_ARGC \
513 if (i >= argc) \
514 break
515#define PARSE_COMMON_TYPE(type) \
516 do { \
517 for (auto iter = get_s_##type##_Flags().begin(); iter != get_s_##type##_Flags().end(); ++iter) { \
518 if (iter->opt == argv[i]) { \
519 ++iRet; \
520 ++i; \
521 if (i < argc) { \
522 if (parse_##type(iter->optPtr, argv[i])) { \
523 ++i; \
524 } \
525 } \
526 break; \
527 } else if (const char* p = is_separated_with(argv[i], iter->opt.c_str(), "-=")) { \
528 ++iRet; \
529 if (!parse_##type(iter->optPtr, p)) { \
530 std::cout << "Warning -- Flag parse : not a valid expression: " << argv[i] << std::endl; \
531 } else { \
532 ++i; \
533 } \
534 break; \
535 } \
536 } \
537 } while (0)
538
539#define PARSE_BOOL_TYPE(type) \
540 do { \
541 for (auto iter = get_s_##type##_Flags().begin(); iter != get_s_##type##_Flags().end(); ++iter) { \
542 if (iter->opt == argv[i]) { \
543 ++iRet; \
544 ++i; \
545 if (i < argc) { \
546 if (parse_##type(iter->optPtr, argv[i])) { \
547 ++i; \
548 } \
549 } else { \
550 *iter->optPtr = !*iter->optPtr; \
551 } \
552 break; \
553 } else if (const char* p = is_separated_with(argv[i], iter->opt.c_str(), "-=")) { \
554 ++iRet; \
555 if (!parse_##type(iter->optPtr, p)) { \
556 std::cout << "Warning -- Flag parse : not a valid expression: " << argv[i] << std::endl; \
557 } else { \
558 ++i; \
559 } \
560 break; \
561 } \
562 } \
563 } while (0)
564
565#define PARSE_LIST_TYPE(type) \
566 do { \
567 for (auto iter = get_s_##type##_Flags().begin(); iter != get_s_##type##_Flags().end(); ++iter) { \
568 if (iter->opt == argv[i]) { \

Callers 4

mainFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected