LLVM 22.0.0git
llvm::AddressRangesMap Class Reference

AddressRangesMap class maps values to the address ranges. More...

#include "llvm/ADT/AddressRanges.h"

Inheritance diagram for llvm::AddressRangesMap:
[legend]

Public Member Functions

void insert (AddressRange Range, int64_t Value)
Public Member Functions inherited from llvm::AddressRangesBase< AddressRangeValuePair >
void clear ()
bool empty () const
bool contains (uint64_t Addr) const
void reserve (size_t Capacity)
size_t size () const
std::optional< AddressRangeValuePairgetRangeThatContains (uint64_t Addr) const
Collection::const_iterator begin () const
Collection::const_iterator end () const
const AddressRangeValuePairoperator[] (size_t I) const
bool operator== (const AddressRangesBase &RHS) const

Additional Inherited Members

Protected Types inherited from llvm::AddressRangesBase< AddressRangeValuePair >
using Collection
Protected Member Functions inherited from llvm::AddressRangesBase< AddressRangeValuePair >
Collection::const_iterator find (uint64_t Start, uint64_t End) const
Protected Attributes inherited from llvm::AddressRangesBase< AddressRangeValuePair >
Collection Ranges

Detailed Description

AddressRangesMap class maps values to the address ranges.

It keeps normalized address ranges and corresponding values. This class keeps a sorted vector of AddressRangeValuePair objects and can perform insertions and searches efficiently. Intersecting([100,200), [150,300)) ranges splitted into non-conflicting parts([100,200), [200,300)). Adjacent([100,200), [200,300)) address ranges are not combined during insertion.

Definition at line 163 of file AddressRanges.h.

Member Function Documentation

◆ insert()

void llvm::AddressRangesMap::insert ( AddressRange Range,
int64_t Value )
inline

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