// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef BASE_TRACE_EVENT_TRACED_VALUE_H_ #define BASE_TRACE_EVENT_TRACED_VALUE_H_ #include <stddef.h> #include <memory> #include <sstream> #include <string> #include <string_view> #include <vector> #include "base/base_export.h" #include "base/memory/raw_ptr.h" #include "base/memory/raw_ptr_exclusion.h" #include "base/trace_event/trace_arguments.h" namespace base { class Value; namespace trace_event { class TraceEventMemoryOverhead; class BASE_EXPORT TracedValue : public ConvertableToTraceFormat { … }; // TracedValue that is convertable to JSON format. This has lower performance // than the default TracedValue in production code, and should be used only for // testing and debugging. Should be avoided in tracing. It's for // testing/debugging code calling value dumping function designed for tracing, // like the following: // // TracedValueJSON value; // AsValueInto(&value); // which is designed for tracing. // return value.ToJSON(); // // If the code is merely for testing/debugging, base::Value should be used // instead. class BASE_EXPORT TracedValueJSON : public TracedValue { … }; } // namespace trace_event } // namespace base #endif // BASE_TRACE_EVENT_TRACED_VALUE_H_