LLDB  mainline
Classes | Public Member Functions | Static Public Member Functions | Private Attributes | Friends | List of all members
lldb_private::UUID Class Reference

#include <UUID.h>

Collaboration diagram for lldb_private::UUID:
Collaboration graph
[legend]

Classes

struct  CvRecordPdb70
 

Public Member Functions

 UUID ()=default
 
 UUID (llvm::ArrayRef< uint8_t > bytes)
 Creates a uuid from the data pointed to by the bytes argument. More...
 
 UUID (CvRecordPdb70 debug_info)
 Create a UUID from CvRecordPdb70. More...
 
 UUID (const void *bytes, uint32_t num_bytes)
 Creates a UUID from the data pointed to by the bytes argument. More...
 
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. More...
 

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

Definition at line 23 of file UUID.h.

Constructor & Destructor Documentation

◆ UUID() [1/4]

lldb_private::UUID::UUID ( )
default

Referenced by SetFromStringRef(), and UUID().

◆ UUID() [2/4]

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

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

Definition at line 31 of file UUID.h.

References Clear(), and m_bytes.

◆ UUID() [3/4]

UUID::UUID ( UUID::CvRecordPdb70  debug_info)

◆ UUID() [4/4]

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

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

Definition at line 54 of file UUID.h.

References UUID().

Member Function Documentation

◆ Clear()

void lldb_private::UUID::Clear ( )
inline

◆ 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 74 of file UUID.cpp.

References xdigit_to_int().

Referenced by SetFromStringRef().

◆ Dump()

void UUID::Dump ( Stream s) const

◆ 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(), CreateAllImageInfosPayload(), ProcessKDP::DoConnectRemote(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoConnectRemote(), lldb_private::ModuleSpec::Dump(), DumpModuleUUID(), lldb_private::ModuleList::FindModule(), lldb_private::DynamicLoaderDarwin::FindTargetModuleForImageInfo(), ObjectFileMachO::GetLLDBSharedCacheUUID(), ObjectFilePECOFF::GetModuleSpecifications(), ObjectFileELF::GetModuleSpecifications(), lldb_private::Target::GetOrCreateModule(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetProcessStandaloneBinary(), lldb_private::Platform::GetRemoteSharedModule(), DynamicLoaderMacOSXDYLD::GetSharedCacheInformation(), ObjectFileMachO::GetSharedCacheUUID(), lldb_private::ModuleList::GetSharedModule(), ObjectFilePECOFF::GetUUID(), lldb_private::ModuleSpec::GetUUIDPtr(), ProcessMachCore::LoadBinariesViaMetadata(), lldb_private::DynamicLoader::LoadBinaryWithUUIDAndAddress(), ObjectFileMachO::LoadCoreFileImages(), lldb_private::Symbols::LocateExecutableSymbolFile(), LocateMacOSXFilesUsingDebugSymbols(), lldb_private::Module::MatchesModuleSpec(), operator bool(), lldb_private::ModuleSpec::operator bool(), DynamicLoaderDarwinKernel::KextImageInfo::operator==(), DynamicLoaderDarwinKernel::ParseKextSummaries(), ObjectFileMachO::ParseSymtab(), ObjectFileELF::RefineModuleDetailsFromNote(), lldb_private::PlatformRemoteDarwinDevice::ResolveExecutable(), lldb_private::Platform::ResolveRemoteExecutable(), and lldb_private::DynamicLoaderDarwin::ImageInfo::UUIDValid().

◆ operator bool()

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

Definition at line 68 of file UUID.h.

References IsValid().

◆ SetFromStringRef()

bool UUID::SetFromStringRef ( llvm::StringRef  str)

Friends And Related Function Documentation

◆ operator!=

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

Definition at line 99 of file UUID.h.

◆ operator<

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

Definition at line 102 of file UUID.h.

◆ operator<=

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

Definition at line 105 of file UUID.h.

◆ operator==

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

Definition at line 96 of file UUID.h.

◆ operator>

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

Definition at line 108 of file UUID.h.

◆ operator>=

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

Definition at line 109 of file UUID.h.

Member Data Documentation

◆ m_bytes

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

Definition at line 94 of file UUID.h.

Referenced by Clear(), GetBytes(), IsValid(), and UUID().


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