//===-- Gauge.cpp -----------------------------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #include "Gauge.h" #include "lldb/lldb-forward.h" template <> lldb_perf::Results::ResultSP lldb_perf::GetResult (const char *description, double value) { if (description && description[0]) { std::unique_ptr value_dict_ap (new Results::Dictionary ()); value_dict_ap->AddString("description", NULL, description); value_dict_ap->AddDouble("value", NULL, value); return Results::ResultSP (value_dict_ap.release()); } return Results::ResultSP (new Results::Double (NULL, NULL, value)); } template <> lldb_perf::Results::ResultSP lldb_perf::GetResult (const char *description, uint64_t value) { if (description && description[0]) { std::unique_ptr value_dict_ap (new Results::Dictionary ()); value_dict_ap->AddString("description", NULL, description); value_dict_ap->AddUnsigned("value", NULL, value); return Results::ResultSP (value_dict_ap.release()); } return Results::ResultSP (new Results::Unsigned (NULL, NULL, value)); } template <> lldb_perf::Results::ResultSP lldb_perf::GetResult (const char *description, std::string value) { if (description && description[0]) { std::unique_ptr value_dict_ap (new Results::Dictionary ()); value_dict_ap->AddString("description", NULL, description); value_dict_ap->AddString("value", NULL, value.c_str()); return Results::ResultSP (value_dict_ap.release()); } return Results::ResultSP (new Results::String (NULL, NULL, value.c_str())); }