LLVM 19.0.0git
Public Member Functions | List of all members
llvm::AddressRanges Class Reference

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

#include "llvm/ADT/AddressRanges.h"

Inheritance diagram for llvm::AddressRanges:
Inheritance graph
[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
 
bool contains (AddressRange Range) const
 
void reserve (size_t Capacity)
 
size_t size () const
 
std::optional< AddressRangegetRangeThatContains (uint64_t Addr) const
 
Collection::const_iterator begin () const
 
Collection::const_iterator end () const
 
const AddressRangeoperator[] (size_t i) const
 
bool operator== (const AddressRangesBase< AddressRange > &RHS) const
 

Additional Inherited Members

- Protected Types inherited from llvm::AddressRangesBase< AddressRange >
using Collection = SmallVector< AddressRange >
 
- 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 121 of file AddressRanges.h.

Member Function Documentation

◆ insert()

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

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