#ifndef BASE_TRACE_EVENT_HEAP_PROFILER_ALLOCATION_CONTEXT_H_
#define BASE_TRACE_EVENT_HEAP_PROFILER_ALLOCATION_CONTEXT_H_
#include <stddef.h>
#include <stdint.h>
#include <functional>
#include "base/base_export.h"
#include "base/memory/raw_ptr.h"
namespace base {
namespace trace_event {
struct BASE_EXPORT StackFrame { … };
bool BASE_EXPORT operator < (const StackFrame& lhs, const StackFrame& rhs);
bool BASE_EXPORT operator == (const StackFrame& lhs, const StackFrame& rhs);
bool BASE_EXPORT operator != (const StackFrame& lhs, const StackFrame& rhs);
struct BASE_EXPORT Backtrace { … };
bool BASE_EXPORT operator==(const Backtrace& lhs, const Backtrace& rhs);
bool BASE_EXPORT operator!=(const Backtrace& lhs, const Backtrace& rhs);
struct BASE_EXPORT AllocationContext { … };
bool BASE_EXPORT operator==(const AllocationContext& lhs,
const AllocationContext& rhs);
bool BASE_EXPORT operator!=(const AllocationContext& lhs,
const AllocationContext& rhs);
struct AllocationMetrics { … };
}
}
namespace std {
template <>
struct BASE_EXPORT hash<base::trace_event::StackFrame> { … };
template <>
struct BASE_EXPORT hash<base::trace_event::Backtrace> { … };
template <>
struct BASE_EXPORT hash<base::trace_event::AllocationContext> { … };
}
#endif