LLVM 17.0.0git
Public Member Functions | Protected Types | Protected Attributes | List of all members
llvm::AddressRangesMap< T > Class Template Reference

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

#include "llvm/ADT/AddressRanges.h"

Inheritance diagram for llvm::AddressRangesMap< T >:
Inheritance graph
[legend]
Collaboration diagram for llvm::AddressRangesMap< T >:
Collaboration graph
[legend]

Public Member Functions

void clear ()
 
bool empty () const
 
bool contains (uint64_t Addr) const
 
bool contains (AddressRange Range) const
 
void insert (AddressRange Range, T Value)
 
size_t size () const
 
std::optional< std::pair< AddressRange, T > > getRangeValueThatContains (uint64_t Addr) const
 
std::pair< AddressRange, Toperator[] (size_t Idx) const
 

Protected Types

using ValuesCollection = SmallVector< T >
 
- Protected Types inherited from llvm::AddressRanges
using Collection = SmallVector< AddressRange >
 

Protected Attributes

ValuesCollection Values
 
- Protected Attributes inherited from llvm::AddressRanges
Collection Ranges
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::AddressRanges
Collection::const_iterator find (uint64_t Addr) const
 
Collection::const_iterator find (AddressRange Range) const
 
void clear ()
 
bool empty () const
 
bool contains (uint64_t Addr) const
 
bool contains (AddressRange Range) const
 
std::optional< AddressRangegetRangeThatContains (uint64_t Addr) const
 
Collection::const_iterator insert (AddressRange Range)
 
void reserve (size_t Capacity)
 
size_t size () const
 
bool operator== (const AddressRanges &RHS) const
 
const AddressRangeoperator[] (size_t i) const
 
Collection::const_iterator begin () const
 
Collection::const_iterator end () const
 

Detailed Description

template<typename T>
class llvm::AddressRangesMap< T >

AddressRangesMap class maps values to the address ranges.

It keeps address ranges and corresponding values. If ranges are combined during insertion, then combined range keeps newly inserted value.

Definition at line 95 of file AddressRanges.h.

Member Typedef Documentation

◆ ValuesCollection

template<typename T >
using llvm::AddressRangesMap< T >::ValuesCollection = SmallVector<T>
protected

Definition at line 141 of file AddressRanges.h.

Member Function Documentation

◆ clear()

template<typename T >
void llvm::AddressRangesMap< T >::clear ( )
inline

◆ contains() [1/2]

template<typename T >
bool llvm::AddressRangesMap< T >::contains ( AddressRange  Range) const
inline

Definition at line 103 of file AddressRanges.h.

References llvm::AddressRanges::contains().

◆ contains() [2/2]

template<typename T >
bool llvm::AddressRangesMap< T >::contains ( uint64_t  Addr) const
inline

Definition at line 102 of file AddressRanges.h.

References Addr, and llvm::AddressRanges::contains().

◆ empty()

template<typename T >
bool llvm::AddressRangesMap< T >::empty ( ) const
inline

Definition at line 101 of file AddressRanges.h.

References llvm::AddressRanges::empty().

Referenced by llvm::DwarfStreamer::emitUnitRangesEntries().

◆ getRangeValueThatContains()

template<typename T >
std::optional< std::pair< AddressRange, T > > llvm::AddressRangesMap< T >::getRangeValueThatContains ( uint64_t  Addr) const
inline

◆ insert()

template<typename T >
void llvm::AddressRangesMap< T >::insert ( AddressRange  Range,
T  Value 
)
inline

◆ operator[]()

template<typename T >
std::pair< AddressRange, T > llvm::AddressRangesMap< T >::operator[] ( size_t  Idx) const
inline

◆ size()

template<typename T >
size_t llvm::AddressRangesMap< T >::size ( ) const
inline

Member Data Documentation

◆ Values

template<typename T >
ValuesCollection llvm::AddressRangesMap< T >::Values
protected

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