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

Method updateDateFormat

src/thundersvm/util/log.cpp:1458–1483  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1456 }
1457
1458 void LogFormat::updateDateFormat(std::size_t index, base::type::string_t& currFormat) {
1459 if (hasFlag(base::FormatFlags::DateTime)) {
1460 index += ELPP_STRLEN(base::consts::kDateTimeFormatSpecifier);
1461 }
1462 const base::type::char_t* ptr = currFormat.c_str() + index;
1463 if ((currFormat.size() > index) && (ptr[0] == '{')) {
1464 // User has provided format for date/time
1465 ++ptr;
1466 int count = 1; // Start by 1 in order to remove starting brace
1467 std::stringstream ss;
1468 for (; *ptr; ++ptr, ++count) {
1469 if (*ptr == '}') {
1470 ++count; // In order to remove ending brace
1471 break;
1472 }
1473 ss << static_cast<char>(*ptr);
1474 }
1475 currFormat.erase(index, count);
1476 m_dateTimeFormat = ss.str();
1477 } else {
1478 // No format provided, use default
1479 if (hasFlag(base::FormatFlags::DateTime)) {
1480 m_dateTimeFormat = std::string(base::consts::kDefaultDateTimeFormat);
1481 }
1482 }
1483 }
1484
1485 void LogFormat::updateFormatSpec(void) {
1486 // Do not use switch over strongly typed enums because Intel C++ compilers dont support them yet.

Callers

nothing calls this directly

Calls 2

hasFlagFunction · 0.85
sizeMethod · 0.45

Tested by

no test coverage detected