LLVM 22.0.0git
llvm::orc::LibraryResolver::SymbolQuery Class Reference

Tracks a set of symbols and the libraries where they are resolved. More...

#include "llvm/ExecutionEngine/Orc/TargetProcess/LibraryResolver.h"

Classes

struct  Entry
 Holds the result for a single symbol. More...

Public Types

using SymbolFilterFn = unique_function<bool(StringRef)>

Public Member Functions

 SymbolQuery (ArrayRef< StringRef > Symbols)
bool contains (StringRef Name) const
void getUnresolvedSymbols (SmallVectorImpl< StringRef > &Unresolved, SymbolFilterFn Allow) const
void resolve (StringRef Sym, const std::string &LibPath)
bool allResolved () const
bool hasUnresolved () const
std::optional< StringRefgetResolvedLib (StringRef Sym) const
bool isResolved (StringRef Sym) const
std::vector< const Entry * > getAllResults () const

Detailed Description

Tracks a set of symbols and the libraries where they are resolved.

SymbolQuery is used to keep track of which symbols have been resolved to which libraries. It supports concurrent read/write access using a shared mutex, allowing multiple readers or a single writer at a time.

Definition at line 400 of file LibraryResolver.h.

Member Typedef Documentation

◆ SymbolFilterFn

Constructor & Destructor Documentation

◆ SymbolQuery()

llvm::orc::LibraryResolver::SymbolQuery::SymbolQuery ( ArrayRef< StringRef > Symbols)
inlineexplicit

Definition at line 414 of file LibraryResolver.h.

References contains().

Member Function Documentation

◆ allResolved()

bool llvm::orc::LibraryResolver::SymbolQuery::allResolved ( ) const
inline

◆ contains()

bool llvm::orc::LibraryResolver::SymbolQuery::contains ( StringRef Name) const
inline

Definition at line 421 of file LibraryResolver.h.

References llvm::any_of(), and E().

Referenced by SymbolQuery().

◆ getAllResults()

std::vector< const Entry * > llvm::orc::LibraryResolver::SymbolQuery::getAllResults ( ) const
inline

Definition at line 471 of file LibraryResolver.h.

References E().

Referenced by llvm::orc::LibraryResolver::searchSymbolsInLibraries().

◆ getResolvedLib()

std::optional< StringRef > llvm::orc::LibraryResolver::SymbolQuery::getResolvedLib ( StringRef Sym) const
inline

Definition at line 455 of file LibraryResolver.h.

References E().

◆ getUnresolvedSymbols()

void llvm::orc::LibraryResolver::SymbolQuery::getUnresolvedSymbols ( SmallVectorImpl< StringRef > & Unresolved,
SymbolFilterFn Allow ) const
inline

◆ hasUnresolved()

bool llvm::orc::LibraryResolver::SymbolQuery::hasUnresolved ( ) const
inline

Definition at line 451 of file LibraryResolver.h.

◆ isResolved()

bool llvm::orc::LibraryResolver::SymbolQuery::isResolved ( StringRef Sym) const
inline

Definition at line 463 of file LibraryResolver.h.

References E().

◆ resolve()

void llvm::orc::LibraryResolver::SymbolQuery::resolve ( StringRef Sym,
const std::string & LibPath )
inline

Definition at line 436 of file LibraryResolver.h.

References E().


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