Use std::string_view and fmtlib across all libraries (#3402)

- Twine, StringRef, Format, and NativeFormatting have been removed
- Logging now uses fmtlib style formatting
- Nearly all uses of wpi::outs/errs have been replaced with fmt::print() or
std::puts()/std::fputs() (for unformatted strings).
- A wpi/fmt/raw_ostream.h header has been added to enable
fmt::print() with wpi::raw_ostream
This commit is contained in:
Peter Johnson
2021-06-06 16:13:58 -07:00
committed by GitHub
parent 4f1cecb8e7
commit b2c3b2dd8e
441 changed files with 5061 additions and 9749 deletions

View File

@@ -4,7 +4,7 @@
#include "frc/Tracer.h"
#include <wpi/Format.h>
#include <fmt/format.h>
#include <wpi/SmallString.h>
#include <wpi/raw_ostream.h>
@@ -25,7 +25,7 @@ void Tracer::ClearEpochs() {
m_epochs.clear();
}
void Tracer::AddEpoch(wpi::StringRef epochName) {
void Tracer::AddEpoch(std::string_view epochName) {
auto currentTime = hal::fpga_clock::now();
m_epochs[epochName] = currentTime - m_startTime;
m_startTime = currentTime;
@@ -48,11 +48,9 @@ void Tracer::PrintEpochs(wpi::raw_ostream& os) {
if (now - m_lastEpochsPrintTime > kMinPrintPeriod) {
m_lastEpochsPrintTime = now;
for (const auto& epoch : m_epochs) {
os << '\t' << epoch.getKey() << ": "
<< wpi::format(
"%.6f",
duration_cast<microseconds>(epoch.getValue()).count() / 1.0e6)
<< "s\n";
os << fmt::format(
"\t{}: {:.6f}s\n", epoch.getKey(),
duration_cast<microseconds>(epoch.getValue()).count() / 1.0e6);
}
}
}