| 62 | } |
| 63 | |
| 64 | bool ParseInt64Flag(tensorflow::StringPiece arg, tensorflow::StringPiece flag, |
| 65 | const std::function<bool(int64)>& hook, |
| 66 | bool* value_parsing_ok) { |
| 67 | *value_parsing_ok = true; |
| 68 | if (absl::ConsumePrefix(&arg, "--") && absl::ConsumePrefix(&arg, flag) && |
| 69 | absl::ConsumePrefix(&arg, "=")) { |
| 70 | char extra; |
| 71 | int64_t parsed_int64; |
| 72 | if (sscanf(arg.data(), "%" SCNd64 "%c", &parsed_int64, &extra) != 1) { |
| 73 | LOG(ERROR) << "Couldn't interpret value " << arg << " for flag " << flag |
| 74 | << "."; |
| 75 | *value_parsing_ok = false; |
| 76 | } else { |
| 77 | *value_parsing_ok = hook(parsed_int64); |
| 78 | } |
| 79 | return true; |
| 80 | } |
| 81 | |
| 82 | return false; |
| 83 | } |
| 84 | |
| 85 | bool ParseBoolFlag(tensorflow::StringPiece arg, tensorflow::StringPiece flag, |
| 86 | const std::function<bool(bool)>& hook, |
no test coverage detected