class AddressRanges

Declaration

class AddressRanges { /* full declaration omitted */ };

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. The address ranges are always sorted and never contain any invalid or empty address ranges. Intersecting([100,200), [150,300)) and adjacent([100,200), [200,300)) address ranges are combined during insertion.

Declared at: llvm/include/llvm/ADT/AddressRanges.h:54

Member Variables

protected llvm::AddressRanges::Collection Ranges

Method Overview

  • public Collection::const_iterator begin() const
  • public void clear()
  • public bool contains(uint64_t Addr) const
  • public bool contains(llvm::AddressRange Range) const
  • public bool empty() const
  • public Collection::const_iterator end() const
  • protected Collection::const_iterator find(uint64_t Addr) const
  • protected Collection::const_iterator find(llvm::AddressRange Range) const
  • public Optional<llvm::AddressRange> getRangeThatContains(uint64_t Addr) const
  • public Collection::const_iterator insert(llvm::AddressRange Range)
  • public void reserve(size_t Capacity)
  • public size_t size() const

Methods

Collection::const_iterator begin() const

Declared at: llvm/include/llvm/ADT/AddressRanges.h:83

void clear()

Declared at: llvm/include/llvm/ADT/AddressRanges.h:60

bool contains(uint64_t Addr) const

Declared at: llvm/include/llvm/ADT/AddressRanges.h:62

Parameters

uint64_t Addr

bool contains(llvm::AddressRange Range) const

Declared at: llvm/include/llvm/ADT/AddressRanges.h:63

Parameters

llvm::AddressRange Range

bool empty() const

Declared at: llvm/include/llvm/ADT/AddressRanges.h:61

Collection::const_iterator end() const

Declared at: llvm/include/llvm/ADT/AddressRanges.h:84

Collection::const_iterator find(
    uint64_t Addr) const

Declared at: llvm/include/llvm/ADT/AddressRanges.h:87

Parameters

uint64_t Addr

Collection::const_iterator find(
    llvm::AddressRange Range) const

Declared at: llvm/include/llvm/ADT/AddressRanges.h:88

Parameters

llvm::AddressRange Range

Optional<llvm::AddressRange> getRangeThatContains(
    uint64_t Addr) const

Declared at: llvm/include/llvm/ADT/AddressRanges.h:66

Parameters

uint64_t Addr

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

Declared at: llvm/include/llvm/ADT/AddressRanges.h:73

Parameters

llvm::AddressRange Range

void reserve(size_t Capacity)

Declared at: llvm/include/llvm/ADT/AddressRanges.h:74

Parameters

size_t Capacity

size_t size() const

Declared at: llvm/include/llvm/ADT/AddressRanges.h:75