#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "base/trace_event/heap_profiler_allocation_context.h"
#include <algorithm>
#include <cstring>
#include "base/containers/span.h"
#include "base/hash/hash.h"
namespace base {
namespace trace_event {
bool operator < (const StackFrame& lhs, const StackFrame& rhs) { … }
bool operator == (const StackFrame& lhs, const StackFrame& rhs) { … }
bool operator != (const StackFrame& lhs, const StackFrame& rhs) { … }
Backtrace::Backtrace() = default;
bool operator==(const Backtrace& lhs, const Backtrace& rhs) { … }
bool operator!=(const Backtrace& lhs, const Backtrace& rhs) { … }
AllocationContext::AllocationContext(): … { … }
AllocationContext::AllocationContext(const Backtrace& backtrace,
const char* type_name)
: … { … }
bool operator==(const AllocationContext& lhs, const AllocationContext& rhs) { … }
bool operator!=(const AllocationContext& lhs, const AllocationContext& rhs) { … }
}
}
namespace std {
AllocationContext;
Backtrace;
StackFrame;
size_t hash<StackFrame>::operator()(const StackFrame& frame) const { … }
size_t hash<Backtrace>::operator()(const Backtrace& backtrace) const { … }
size_t hash<AllocationContext>::operator()(const AllocationContext& ctx) const { … }
}