LLVM 20.0.0git
|
The AddressRangesBase class presents the base functionality for the normalized address ranges collection. More...
#include "llvm/ADT/AddressRanges.h"
Public Member Functions | |
void | clear () |
bool | empty () const |
bool | contains (uint64_t Addr) const |
bool | contains (AddressRange Range) const |
void | reserve (size_t Capacity) |
size_t | size () const |
std::optional< T > | getRangeThatContains (uint64_t Addr) const |
Collection::const_iterator | begin () const |
Collection::const_iterator | end () const |
const T & | operator[] (size_t i) const |
bool | operator== (const AddressRangesBase< T > &RHS) const |
Protected Types | |
using | Collection = SmallVector< T > |
Protected Member Functions | |
Collection::const_iterator | find (uint64_t Start, uint64_t End) const |
Protected Attributes | |
Collection | Ranges |
The AddressRangesBase class presents the base functionality for the normalized address ranges collection.
This class keeps a sorted vector of AddressRange-like objects and can perform searches efficiently. The address ranges are always sorted and never contain any invalid, empty or intersected address ranges.
Definition at line 58 of file AddressRanges.h.
|
protected |
Definition at line 60 of file AddressRanges.h.
|
inline |
Definition at line 83 of file AddressRanges.h.
References llvm::AddressRangesBase< T >::Ranges.
|
inline |
Definition at line 64 of file AddressRanges.h.
References llvm::AddressRangesBase< T >::Ranges.
Referenced by llvm::gsym::InlineInfo::clear(), and llvm::dwarf_linker::parallel::CompileUnit::maybeResetToLoadedStage().
|
inline |
Definition at line 69 of file AddressRanges.h.
References llvm::AddressRangesBase< T >::find(), Range, and llvm::AddressRangesBase< T >::Ranges.
|
inline |
Definition at line 66 of file AddressRanges.h.
References Addr, llvm::AddressRangesBase< T >::find(), and llvm::AddressRangesBase< T >::Ranges.
Referenced by llvm::gsym::InlineInfo::encode(), and parseInlineInfo().
|
inline |
Definition at line 65 of file AddressRanges.h.
References llvm::AddressRangesBase< T >::Ranges.
Referenced by llvm::gsym::InlineInfo::isValid().
|
inline |
Definition at line 84 of file AddressRanges.h.
References llvm::AddressRangesBase< T >::Ranges.
|
inlineprotected |
Definition at line 96 of file AddressRanges.h.
References llvm::AddressRange::end(), End, and llvm::AddressRangesBase< T >::Ranges.
Referenced by llvm::AddressRangesBase< T >::contains(), and llvm::AddressRangesBase< T >::getRangeThatContains().
|
inline |
Definition at line 75 of file AddressRanges.h.
References Addr, llvm::AddressRangesBase< T >::find(), and llvm::AddressRangesBase< T >::Ranges.
Referenced by llvm::dwarf_linker::parallel::DWARFLinkerImpl::LinkContext::cloneAndEmitDebugFrame().
|
inline |
Definition at line 91 of file AddressRanges.h.
References llvm::AddressRangesBase< T >::Ranges, and RHS.
|
inline |
Definition at line 86 of file AddressRanges.h.
References assert(), and llvm::AddressRangesBase< T >::Ranges.
|
inline |
Definition at line 72 of file AddressRanges.h.
References llvm::AddressRangesBase< T >::Ranges.
|
inline |
Definition at line 73 of file AddressRanges.h.
References llvm::AddressRangesBase< T >::Ranges.
Referenced by llvm::operator<<().
|
protected |
Definition at line 61 of file AddressRanges.h.
Referenced by llvm::AddressRangesBase< T >::begin(), llvm::AddressRangesBase< T >::clear(), llvm::AddressRangesBase< T >::contains(), llvm::AddressRangesBase< T >::empty(), llvm::AddressRangesBase< T >::end(), llvm::AddressRangesBase< T >::find(), llvm::AddressRangesBase< T >::getRangeThatContains(), llvm::AddressRangesBase< T >::operator==(), llvm::AddressRangesBase< T >::operator[](), llvm::AddressRangesBase< T >::reserve(), and llvm::AddressRangesBase< T >::size().