Chromium Code Reviews| Index: base/trace_event/heap_profiler_type_name_deduplicator.h |
| diff --git a/base/trace_event/heap_profiler_type_name_deduplicator.h b/base/trace_event/heap_profiler_type_name_deduplicator.h |
| index 2d26c73488ef59b7e7ce8502914a54984d4666f7..070251683332d28a02f972278741c11f9e925e90 100644 |
| --- a/base/trace_event/heap_profiler_type_name_deduplicator.h |
| +++ b/base/trace_event/heap_profiler_type_name_deduplicator.h |
| @@ -7,34 +7,38 @@ |
| #include <map> |
| #include <string> |
| +#include <vector> |
| #include "base/base_export.h" |
| #include "base/macros.h" |
| -#include "base/trace_event/trace_event_impl.h" |
| namespace base { |
| namespace trace_event { |
| class TraceEventMemoryOverhead; |
| +class TracedValue; |
| // Data structure that assigns a unique numeric ID to |const char*|s. |
| -class BASE_EXPORT TypeNameDeduplicator : public ConvertableToTraceFormat { |
| +class BASE_EXPORT TypeNameDeduplicator { |
| public: |
| TypeNameDeduplicator(); |
| - ~TypeNameDeduplicator() override; |
| + ~TypeNameDeduplicator(); |
| // Inserts a type name and returns its ID. |
| int Insert(const char* type_name); |
| - // Writes the type ID -> type name mapping to the trace log. |
| - void AppendAsTraceFormat(std::string* out) const override; |
| + // Append {ID -> type name} mappings that were added after the last call |
| + // to this function. |
| + void AppendIncrementally(TracedValue* traced_value); |
| // Estimates memory overhead including |sizeof(TypeNameDeduplicator)|. |
| - void EstimateTraceMemoryOverhead(TraceEventMemoryOverhead* overhead) override; |
| + void EstimateTraceMemoryOverhead(TraceEventMemoryOverhead* overhead); |
| private: |
| // Map from type name to type ID. |
| - std::map<const char*, int> type_ids_; |
| + using TypeMap = std::map<const char*, int>; |
| + TypeMap type_ids_; |
| + std::vector<TypeMap::const_iterator> new_type_ids_; |
|
Primiano Tucci (use gerrit)
2017/02/17 17:07:05
smart ;-)
|
| DISALLOW_COPY_AND_ASSIGN(TypeNameDeduplicator); |
| }; |