Fix google-explicit-constructor warnings in simpleperf.

* Declare explicit conversion constructors.

Bug: 28341362
Change-Id: I9d5b764fe004e291cbdd212617df6f385c31df25
Test: build with clang-tidy
diff --git a/simpleperf/record.h b/simpleperf/record.h
index 8929ee5..78ae958 100644
--- a/simpleperf/record.h
+++ b/simpleperf/record.h
@@ -134,7 +134,7 @@
 
   RecordHeader() : type(0), misc(0), size(0) {}
 
-  RecordHeader(const char* p) {
+  explicit RecordHeader(const char* p) {
     auto pheader = reinterpret_cast<const perf_event_header*>(p);
     if (pheader->type < SIMPLE_PERF_RECORD_TYPE_START) {
       type = pheader->type;
@@ -208,7 +208,7 @@
   SampleId sample_id;
 
   Record() {}
-  Record(const char* p) : header(p) {}
+  explicit Record(const char* p) : header(p) {}
 
   virtual ~Record() {}
 
@@ -389,7 +389,7 @@
 
   BuildIdRecord() {}
 
-  BuildIdRecord(const char* p);
+  explicit BuildIdRecord(const char* p);
   std::vector<char> BinaryFormat() const override;
 
   static BuildIdRecord Create(bool in_kernel, pid_t pid,
@@ -405,7 +405,7 @@
 
   KernelSymbolRecord() {}
 
-  KernelSymbolRecord(const char* p);
+  explicit KernelSymbolRecord(const char* p);
   std::vector<char> BinaryFormat() const override;
 
   static KernelSymbolRecord Create(std::string kallsyms);
@@ -422,7 +422,7 @@
 
   DsoRecord() {}
 
-  DsoRecord(const char* p);
+  explicit DsoRecord(const char* p);
   std::vector<char> BinaryFormat() const override;
 
   static DsoRecord Create(uint64_t dso_type, uint64_t dso_id,
@@ -440,7 +440,7 @@
 
   SymbolRecord() {}
 
-  SymbolRecord(const char* p);
+  explicit SymbolRecord(const char* p);
   std::vector<char> BinaryFormat() const override;
 
   static SymbolRecord Create(uint64_t addr, uint64_t len,
@@ -455,7 +455,7 @@
 
   TracingDataRecord() {}
 
-  TracingDataRecord(const char* p);
+  explicit TracingDataRecord(const char* p);
   std::vector<char> BinaryFormat() const override;
 
   static TracingDataRecord Create(std::vector<char> tracing_data);
@@ -469,7 +469,7 @@
 struct UnknownRecord : public Record {
   std::vector<char> data;
 
-  UnknownRecord(const char* p);
+  explicit UnknownRecord(const char* p);
   std::vector<char> BinaryFormat() const override;
 
  protected:
@@ -499,7 +499,7 @@
 // time (t - min_time_diff) or earlier.
 class RecordCache {
  public:
-  RecordCache(bool has_timestamp, size_t min_cache_size = 1000u,
+  explicit RecordCache(bool has_timestamp, size_t min_cache_size = 1000u,
               uint64_t min_time_diff_in_ns = 1000000u);
   ~RecordCache();
   void Push(std::unique_ptr<Record> record);