LLDB mainline
lldb_private::UUID Class Reference

Represents UUID's of various sizes. More...

#include <UUID.h>

Classes

struct  CvRecordPdb70

Public Member Functions

 UUID ()=default
 UUID (llvm::ArrayRef< uint8_t > bytes)
 Create a uuid from the data pointed to by the bytes argument.
 UUID (CvRecordPdb70 debug_info)
 Create a UUID from CvRecordPdb70.
 UUID (const void *bytes, uint32_t num_bytes)
 Create a UUID from the data pointed to by the bytes argument.
void Clear ()
void Dump (Stream &s) const
llvm::ArrayRef< uint8_t > GetBytes () const
 operator bool () const
bool IsValid () const
std::string GetAsString (llvm::StringRef separator="-") const
bool SetFromStringRef (llvm::StringRef str)

Static Public Member Functions

static llvm::StringRef DecodeUUIDBytesFromString (llvm::StringRef str, llvm::SmallVectorImpl< uint8_t > &uuid_bytes)
 Decode as many UUID bytes as possible from the C string cstr.
static UUID Generate (uint32_t num_bytes=16)
 Create a random UUID.

Private Attributes

llvm::SmallVector< uint8_t, 20 > m_bytes

Friends

bool operator== (const UUID &LHS, const UUID &RHS)
bool operator!= (const UUID &LHS, const UUID &RHS)
bool operator< (const UUID &LHS, const UUID &RHS)
bool operator<= (const UUID &LHS, const UUID &RHS)
bool operator> (const UUID &LHS, const UUID &RHS)
bool operator>= (const UUID &LHS, const UUID &RHS)

Detailed Description

Represents UUID's of various sizes.

In all cases, a uuid of all zeros is treated as an "Invalid UUID" marker, and the UUID created from such data will return false for IsValid.

Definition at line 27 of file UUID.h.

Constructor & Destructor Documentation

◆ UUID() [1/4]

lldb_private::UUID::UUID ( )
default

◆ UUID() [2/4]

lldb_private::UUID::UUID ( llvm::ArrayRef< uint8_t > bytes)
inline

Create a uuid from the data pointed to by the bytes argument.

Definition at line 32 of file UUID.h.

References Clear(), and m_bytes.

◆ UUID() [3/4]

◆ UUID() [4/4]

lldb_private::UUID::UUID ( const void * bytes,
uint32_t num_bytes )
inline

Create a UUID from the data pointed to by the bytes argument.

Definition at line 55 of file UUID.h.

References UUID().

Member Function Documentation

◆ Clear()

◆ DecodeUUIDBytesFromString()

llvm::StringRef UUID::DecodeUUIDBytesFromString ( llvm::StringRef str,
llvm::SmallVectorImpl< uint8_t > & uuid_bytes )
static

Decode as many UUID bytes as possible from the C string cstr.

Parameters
[in]strAn llvm::StringRef that points at a UUID string value (no leading spaces). The string must contain only hex characters and optionally can contain the '-' sepearators.
[in]uuid_bytesA buffer of bytes that will contain a full or partially decoded UUID.
Returns
The original string, with all decoded bytes removed.

Definition at line 78 of file UUID.cpp.

References xdigit_to_int().

Referenced by lldb_private::OptionValueUUID::AutoComplete(), and SetFromStringRef().

◆ Dump()

◆ Generate()

UUID UUID::Generate ( uint32_t num_bytes = 16)
static

Create a random UUID.

Definition at line 119 of file UUID.cpp.

References UUID().

Referenced by lldb_private::telemetry::MakeUUID().

◆ GetAsString()

std::string UUID::GetAsString ( llvm::StringRef separator = "-") const

◆ GetBytes()

llvm::ArrayRef< uint8_t > lldb_private::UUID::GetBytes ( ) const
inline

◆ IsValid()

bool lldb_private::UUID::IsValid ( ) const
inline

Definition at line 69 of file UUID.h.

References m_bytes.

Referenced by CommandObjectTargetSymbolsAdd::AddModuleSymbols(), lldb_private::OptionValueUUID::AutoComplete(), lldb_private::CacheSignature::CacheSignature(), lldb_private::CacheSignature::CacheSignature(), CreateAllImageInfosPayload(), ProcessKDP::DoConnectRemote(), DumpModuleUUID(), DynamicLoaderFreeBSDKernel::FindKernelAtLoadAddress(), lldb_private::ModuleList::FindModule(), lldb_private::DynamicLoaderDarwin::FindTargetModuleForImageInfo(), GetFileForModule(), ObjectFileMachO::GetLLDBSharedCacheUUID(), ObjectFileELF::GetModuleSpecifications(), ObjectFilePECOFF::GetModuleSpecifications(), lldb_private::Target::GetOrCreateModule(), lldb_private::Platform::GetRemoteSharedModule(), DynamicLoaderMacOSXDYLD::GetSharedCacheInformation(), lldb_private::ModuleList::GetSharedModule(), ProcessMachCore::LoadBinariesViaMetadata(), ProcessMachCore::LoadBinaryViaLowmemUUID(), lldb_private::DynamicLoader::LoadBinaryWithUUIDAndAddress(), ObjectFileMachO::LoadCoreFileImages(), lldb_private::process_gdb_remote::ProcessGDBRemote::LoadStubBinaries(), lldb_private::SymbolLocatorDebugSymbols::LocateExecutableObjectFile(), lldb_private::SymbolLocatorDefault::LocateExecutableSymbolFile(), LocateMacOSXFilesUsingDebugSymbols(), lldb_private::Module::MatchesModuleSpec(), operator bool(), DynamicLoaderDarwinKernel::KextImageInfo::operator==(), ObjectFileMachO::ParseSymtab(), ObjectFileELF::RefineModuleDetailsFromNote(), lldb_private::Platform::ResolveExecutable(), and ProcessElfCore::UpdateBuildIdForNTFileEntries().

◆ operator bool()

lldb_private::UUID::operator bool ( ) const
inlineexplicit

Definition at line 68 of file UUID.h.

References IsValid().

◆ SetFromStringRef()

◆ operator!=

bool operator!= ( const UUID & LHS,
const UUID & RHS )
friend

Definition at line 102 of file UUID.h.

References UUID().

◆ operator<

bool operator< ( const UUID & LHS,
const UUID & RHS )
friend

Definition at line 105 of file UUID.h.

References m_bytes, and UUID().

◆ operator<=

bool operator<= ( const UUID & LHS,
const UUID & RHS )
friend

Definition at line 108 of file UUID.h.

References UUID().

◆ operator==

bool operator== ( const UUID & LHS,
const UUID & RHS )
friend

Definition at line 99 of file UUID.h.

References m_bytes, and UUID().

◆ operator>

bool operator> ( const UUID & LHS,
const UUID & RHS )
friend

Definition at line 111 of file UUID.h.

References UUID().

◆ operator>=

bool operator>= ( const UUID & LHS,
const UUID & RHS )
friend

Definition at line 112 of file UUID.h.

References UUID().

Member Data Documentation

◆ m_bytes

llvm::SmallVector<uint8_t, 20> lldb_private::UUID::m_bytes
private

Definition at line 97 of file UUID.h.

Referenced by Clear(), GetBytes(), IsValid(), operator<, operator==, and UUID().


The documentation for this class was generated from the following files: