Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
llvm::orc::SymbolStringPtrBase Class Reference

Base class for both owning and non-owning symbol-string ptrs. More...

#include "llvm/ExecutionEngine/Orc/SymbolStringPool.h"

Inheritance diagram for llvm::orc::SymbolStringPtrBase:
[legend]

Public Member Functions

 SymbolStringPtrBase ()=default
 SymbolStringPtrBase (std::nullptr_t)
 operator bool () const
StringRef operator* () const
bool poolEntryIsAlive () const

Protected Types

using PoolEntry = SymbolStringPool::PoolMapEntry
using PoolEntryPtr = PoolEntry *

Protected Member Functions

 SymbolStringPtrBase (PoolEntryPtr S)
size_t getRefCount () const

Static Protected Member Functions

static bool isRealPoolEntry (PoolEntryPtr P)

Protected Attributes

PoolEntryPtr S = nullptr

Static Protected Attributes

static constexpr uintptr_t EmptyBitPattern
static constexpr uintptr_t TombstoneBitPattern
static constexpr uintptr_t InvalidPtrMask

Friends

class SymbolStringPool
struct DenseMapInfo< SymbolStringPtr >
struct DenseMapInfo< NonOwningSymbolStringPtr >
bool operator== (SymbolStringPtrBase LHS, SymbolStringPtrBase RHS)
bool operator!= (SymbolStringPtrBase LHS, SymbolStringPtrBase RHS)
bool operator< (SymbolStringPtrBase LHS, SymbolStringPtrBase RHS)
LLVM_ABI friend raw_ostreamoperator<< (raw_ostream &OS, const SymbolStringPtrBase &Sym)

Detailed Description

Base class for both owning and non-owning symbol-string ptrs.

All symbol-string ptrs are convertible to bool, dereferenceable and comparable.

SymbolStringPtrBases are default-constructible and constructible from nullptr to enable comparison with these values.

Definition at line 72 of file SymbolStringPool.h.

Member Typedef Documentation

◆ PoolEntry

◆ PoolEntryPtr

Definition at line 112 of file SymbolStringPool.h.

Constructor & Destructor Documentation

◆ SymbolStringPtrBase() [1/3]

◆ SymbolStringPtrBase() [2/3]

llvm::orc::SymbolStringPtrBase::SymbolStringPtrBase ( std::nullptr_t )
inline

Definition at line 79 of file SymbolStringPool.h.

◆ SymbolStringPtrBase() [3/3]

llvm::orc::SymbolStringPtrBase::SymbolStringPtrBase ( PoolEntryPtr S)
inlineprotected

Definition at line 114 of file SymbolStringPool.h.

References S.

Member Function Documentation

◆ getRefCount()

size_t llvm::orc::SymbolStringPtrBase::getRefCount ( ) const
inlineprotected

Definition at line 134 of file SymbolStringPool.h.

References isRealPoolEntry(), and S.

◆ isRealPoolEntry()

bool llvm::orc::SymbolStringPtrBase::isRealPoolEntry ( PoolEntryPtr P)
inlinestaticprotected

◆ operator bool()

llvm::orc::SymbolStringPtrBase::operator bool ( ) const
inlineexplicit

Definition at line 81 of file SymbolStringPool.h.

References S.

◆ operator*()

StringRef llvm::orc::SymbolStringPtrBase::operator* ( ) const
inline

Definition at line 83 of file SymbolStringPool.h.

References S.

◆ poolEntryIsAlive()

bool llvm::orc::SymbolStringPtrBase::poolEntryIsAlive ( ) const
inline

Definition at line 105 of file SymbolStringPool.h.

References isRealPoolEntry(), and S.

Referenced by llvm::orc::SymbolStringPtr::SymbolStringPtr().

◆ DenseMapInfo< NonOwningSymbolStringPtr >

friend struct DenseMapInfo< NonOwningSymbolStringPtr >
friend

Definition at line 73 of file SymbolStringPool.h.

References SymbolStringPool.

◆ DenseMapInfo< SymbolStringPtr >

friend struct DenseMapInfo< SymbolStringPtr >
friend

Definition at line 73 of file SymbolStringPool.h.

◆ operator!=

bool operator!= ( SymbolStringPtrBase LHS,
SymbolStringPtrBase RHS )
friend

Definition at line 89 of file SymbolStringPool.h.

References LHS, RHS, and SymbolStringPtrBase().

◆ operator<

bool operator< ( SymbolStringPtrBase LHS,
SymbolStringPtrBase RHS )
friend

Definition at line 93 of file SymbolStringPool.h.

References LHS, RHS, and SymbolStringPtrBase().

◆ operator<<

LLVM_ABI friend raw_ostream & operator<< ( raw_ostream & OS,
const SymbolStringPtrBase & Sym )
friend

◆ operator==

bool operator== ( SymbolStringPtrBase LHS,
SymbolStringPtrBase RHS )
friend

Definition at line 85 of file SymbolStringPool.h.

References LHS, RHS, and SymbolStringPtrBase().

◆ SymbolStringPool

friend class SymbolStringPool
friend

Definition at line 73 of file SymbolStringPool.h.

Referenced by DenseMapInfo< NonOwningSymbolStringPtr >.

Member Data Documentation

◆ EmptyBitPattern

uintptr_t llvm::orc::SymbolStringPtrBase::EmptyBitPattern
staticconstexprprotected
Initial value:
=
std::numeric_limits<uintptr_t>::max()
A traits type that is used to handle pointer types and things that are just wrappers for pointers as ...

Definition at line 116 of file SymbolStringPool.h.

◆ InvalidPtrMask

uintptr_t llvm::orc::SymbolStringPtrBase::InvalidPtrMask
staticconstexprprotected
Initial value:
=
(std::numeric_limits<uintptr_t>::max() - 3)

Definition at line 124 of file SymbolStringPool.h.

Referenced by isRealPoolEntry().

◆ S

◆ TombstoneBitPattern

uintptr_t llvm::orc::SymbolStringPtrBase::TombstoneBitPattern
staticconstexprprotected
Initial value:
=
(std::numeric_limits<uintptr_t>::max() - 1)

Definition at line 120 of file SymbolStringPool.h.


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