#ifndef BASE_TRACE_EVENT_MEMORY_ALLOCATOR_DUMP_GUID_H_
#define BASE_TRACE_EVENT_MEMORY_ALLOCATOR_DUMP_GUID_H_
#include <stdint.h>
#include <string>
#include "base/base_export.h"
namespace base::trace_event {
class BASE_EXPORT MemoryAllocatorDumpGuid {
public:
MemoryAllocatorDumpGuid();
explicit MemoryAllocatorDumpGuid(uint64_t guid);
explicit MemoryAllocatorDumpGuid(const std::string& guid_str);
uint64_t ToUint64() const { return guid_; }
std::string ToString() const;
bool empty() const { return guid_ == 0u; }
friend bool operator==(const MemoryAllocatorDumpGuid&,
const MemoryAllocatorDumpGuid&) = default;
friend auto operator<=>(const MemoryAllocatorDumpGuid&,
const MemoryAllocatorDumpGuid&) = default;
private:
uint64_t guid_;
};
}
#endif