LLVM: llvm::AddressRanges Class Reference (original) (raw)

The AddressRanges class helps normalize address range collections. More...

#include "[llvm/ADT/AddressRanges.h](AddressRanges%5F8h%5Fsource.html)"

Inheritance diagram for llvm::AddressRanges:

[legend]

Public Member Functions
Collection::const_iterator insert (AddressRange Range)
Public Member Functions inherited from llvm::AddressRangesBase< AddressRange >
void clear ()
bool empty () const
bool contains (uint64_t Addr) const
void reserve (size_t Capacity)
size_t size () const
std::optional< AddressRange > getRangeThatContains (uint64_t Addr) const
Collection::const_iterator begin () const
Collection::const_iterator end () const
const AddressRange & operator[] (size_t I) const
bool operator== (const AddressRangesBase &RHS) const
Additional Inherited Members
Protected Types inherited from llvm::AddressRangesBase< AddressRange >
using Collection
Protected Member Functions inherited from llvm::AddressRangesBase< AddressRange >
Collection::const_iterator find (uint64_t Start, uint64_t End) const
Protected Attributes inherited from llvm::AddressRangesBase< AddressRange >
Collection Ranges

Detailed Description

The AddressRanges class helps normalize address range collections.

This class keeps a sorted vector of AddressRange objects and can perform insertions and searches efficiently. Intersecting([100,200), [150,300)) and adjacent([100,200), [200,300)) address ranges are combined during insertion.

Definition at line 119 of file AddressRanges.h.

Member Function Documentation

insert()

Collection::const_iterator llvm::AddressRanges::insert ( AddressRange Range) inline

Definition at line 121 of file AddressRanges.h.

References Range, llvm::AddressRangesBase< AddressRange >::Ranges, and llvm::upper_bound().

Referenced by llvm::dwarf_linker::parallel::CompileUnit::cloneAndEmitRanges().


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