clang 17.0.0git
Public Types | Public Member Functions | List of all members
clang::driver::MultilibSet Class Reference

See also MultilibSetBuilder for combining multilibs into a set. More...

#include "clang/Driver/Multilib.h"

Public Types

using multilib_list = std::vector< Multilib >
 
using const_iterator = multilib_list::const_iterator
 
using IncludeDirsFunc = std::function< std::vector< std::string >(const Multilib &M)>
 
using FilterCallback = llvm::function_ref< bool(const Multilib &)>
 

Public Member Functions

 MultilibSet ()=default
 
 MultilibSet (multilib_list &&Multilibs)
 
const multilib_listgetMultilibs ()
 
MultilibSetFilterOut (FilterCallback F)
 Filter out some subset of the Multilibs using a user defined callback.
 
void push_back (const Multilib &M)
 Add a completed Multilib to the set.
 
const_iterator begin () const
 
const_iterator end () const
 
multilib_list select (const Multilib::flags_list &Flags) const
 Select compatible variants.
 
bool select (const Multilib::flags_list &Flags, Multilib &M) const
 Pick the best multilib in the set,.
 
unsigned size () const
 
LLVM_DUMP_METHOD void dump () const
 
void print (raw_ostream &OS) const
 
MultilibSetsetIncludeDirsCallback (IncludeDirsFunc F)
 
const IncludeDirsFuncincludeDirsCallback () const
 
MultilibSetsetFilePathsCallback (IncludeDirsFunc F)
 
const IncludeDirsFuncfilePathsCallback () const
 

Detailed Description

See also MultilibSetBuilder for combining multilibs into a set.

Definition at line 78 of file Multilib.h.

Member Typedef Documentation

◆ const_iterator

using clang::driver::MultilibSet::const_iterator = multilib_list::const_iterator

Definition at line 81 of file Multilib.h.

◆ FilterCallback

using clang::driver::MultilibSet::FilterCallback = llvm::function_ref<bool(const Multilib &)>

Definition at line 84 of file Multilib.h.

◆ IncludeDirsFunc

using clang::driver::MultilibSet::IncludeDirsFunc = std::function<std::vector<std::string>(const Multilib &M)>

Definition at line 82 of file Multilib.h.

◆ multilib_list

Definition at line 80 of file Multilib.h.

Constructor & Destructor Documentation

◆ MultilibSet() [1/2]

clang::driver::MultilibSet::MultilibSet ( )
default

◆ MultilibSet() [2/2]

clang::driver::MultilibSet::MultilibSet ( multilib_list &&  Multilibs)
inline

Definition at line 93 of file Multilib.h.

Member Function Documentation

◆ begin()

const_iterator clang::driver::MultilibSet::begin ( ) const
inline

Definition at line 103 of file Multilib.h.

◆ dump()

LLVM_DUMP_METHOD void MultilibSet::dump ( ) const

Definition at line 118 of file Multilib.cpp.

References print().

◆ end()

const_iterator clang::driver::MultilibSet::end ( ) const
inline

Definition at line 104 of file Multilib.h.

◆ filePathsCallback()

const IncludeDirsFunc & clang::driver::MultilibSet::filePathsCallback ( ) const
inline

◆ FilterOut()

MultilibSet & MultilibSet::FilterOut ( FilterCallback  F)

◆ getMultilibs()

const multilib_list & clang::driver::MultilibSet::getMultilibs ( )
inline

Definition at line 95 of file Multilib.h.

◆ includeDirsCallback()

const IncludeDirsFunc & clang::driver::MultilibSet::includeDirsCallback ( ) const
inline

◆ print()

void MultilibSet::print ( raw_ostream &  OS) const

Definition at line 122 of file Multilib.cpp.

Referenced by dump(), and clang::driver::operator<<().

◆ push_back()

void MultilibSet::push_back ( const Multilib M)

Add a completed Multilib to the set.

Definition at line 90 of file Multilib.cpp.

Referenced by findOHOSMuslMultilibs(), and clang::driver::toolchains::Fuchsia::Fuchsia().

◆ select() [1/2]

MultilibSet::multilib_list MultilibSet::select ( const Multilib::flags_list Flags) const

◆ select() [2/2]

bool MultilibSet::select ( const Multilib::flags_list Flags,
Multilib M 
) const

Pick the best multilib in the set,.

Returns
false if none are compatible

Definition at line 109 of file Multilib.cpp.

References clang::Result, and select().

◆ setFilePathsCallback()

MultilibSet & clang::driver::MultilibSet::setFilePathsCallback ( IncludeDirsFunc  F)
inline

◆ setIncludeDirsCallback()

MultilibSet & clang::driver::MultilibSet::setIncludeDirsCallback ( IncludeDirsFunc  F)
inline

◆ size()

unsigned clang::driver::MultilibSet::size ( ) const
inline

Definition at line 112 of file Multilib.h.

Referenced by findMipsCsMultilibs().


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