LLDB  mainline
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | List of all members
lldb_private::RangeDataVector< B, S, T, N, Compare > Class Template Reference

#include <RangeMap.h>

Inheritance diagram for lldb_private::RangeDataVector< B, S, T, N, Compare >:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::RangeDataVector< B, S, T, N, Compare >:
Collaboration graph
[legend]

Public Types

typedef lldb_private::Range< B, S > Range
 
typedef RangeData< B, S, T > Entry
 
typedef AugmentedRangeData< B, S, T > AugmentedEntry
 
typedef llvm::SmallVector< AugmentedEntry, N > Collection
 

Public Member Functions

 RangeDataVector (Compare compare=Compare())
 
 ~RangeDataVector ()=default
 
void Append (const Entry &entry)
 
void Sort ()
 
void CombineConsecutiveEntriesWithEqualData ()
 
void Clear ()
 
bool IsEmpty () const
 
size_t GetSize () const
 
const EntryGetEntryAtIndex (size_t i) const
 
EntryGetMutableEntryAtIndex (size_t i)
 
EntryGetEntryRef (size_t i)
 
const EntryGetEntryRef (size_t i) const
 
uint32_t FindEntryIndexThatContains (B addr) const
 
uint32_t FindEntryIndexesThatContain (B addr, std::vector< uint32_t > &indexes)
 
EntryFindEntryThatContains (B addr)
 
const EntryFindEntryThatContains (B addr) const
 
const EntryFindEntryThatContains (const Entry &range) const
 
const EntryFindEntryStartsAt (B addr) const
 
const EntryFindEntryThatContainsOrFollows (B addr) const
 
EntryBack ()
 
const EntryBack () const
 

Static Public Member Functions

static bool BaseLessThan (const Entry &lhs, const Entry &rhs)
 

Protected Attributes

Collection m_entries
 
Compare m_compare
 

Private Member Functions

ComputeUpperBounds (size_t lo, size_t hi)
 
void FindEntryIndexesThatContain (B addr, size_t lo, size_t hi, std::vector< uint32_t > &indexes)
 

Detailed Description

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
class lldb_private::RangeDataVector< B, S, T, N, Compare >

Definition at line 410 of file RangeMap.h.

Member Typedef Documentation

◆ AugmentedEntry

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
typedef AugmentedRangeData<B, S, T> lldb_private::RangeDataVector< B, S, T, N, Compare >::AugmentedEntry

Definition at line 414 of file RangeMap.h.

◆ Collection

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
typedef llvm::SmallVector<AugmentedEntry, N> lldb_private::RangeDataVector< B, S, T, N, Compare >::Collection

Definition at line 415 of file RangeMap.h.

◆ Entry

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
typedef RangeData<B, S, T> lldb_private::RangeDataVector< B, S, T, N, Compare >::Entry

Definition at line 413 of file RangeMap.h.

◆ Range

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
typedef lldb_private::Range<B, S> lldb_private::RangeDataVector< B, S, T, N, Compare >::Range

Definition at line 412 of file RangeMap.h.

Constructor & Destructor Documentation

◆ RangeDataVector()

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
lldb_private::RangeDataVector< B, S, T, N, Compare >::RangeDataVector ( Compare  compare = Compare())
inline

Definition at line 417 of file RangeMap.h.

◆ ~RangeDataVector()

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
lldb_private::RangeDataVector< B, S, T, N, Compare >::~RangeDataVector ( )
default

Member Function Documentation

◆ Append()

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
void lldb_private::RangeDataVector< B, S, T, N, Compare >::Append ( const Entry entry)
inline

◆ Back() [1/2]

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
Entry* lldb_private::RangeDataVector< B, S, T, N, Compare >::Back ( )
inline

Definition at line 599 of file RangeMap.h.

Referenced by ProcessElfCore::AddAddressRangeFromLoadSegment().

◆ Back() [2/2]

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
const Entry* lldb_private::RangeDataVector< B, S, T, N, Compare >::Back ( ) const
inline

Definition at line 601 of file RangeMap.h.

◆ BaseLessThan()

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
static bool lldb_private::RangeDataVector< B, S, T, N, Compare >::BaseLessThan ( const Entry lhs,
const Entry rhs 
)
inlinestatic

Definition at line 504 of file RangeMap.h.

◆ Clear()

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
void lldb_private::RangeDataVector< B, S, T, N, Compare >::Clear ( )
inline

◆ CombineConsecutiveEntriesWithEqualData()

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
void lldb_private::RangeDataVector< B, S, T, N, Compare >::CombineConsecutiveEntriesWithEqualData ( )
inline

Definition at line 449 of file RangeMap.h.

Referenced by DWARFDebugAranges::Sort().

◆ ComputeUpperBounds()

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
B lldb_private::RangeDataVector< B, S, T, N, Compare >::ComputeUpperBounds ( size_t  lo,
size_t  hi 
)
inlineprivate

Definition at line 611 of file RangeMap.h.

◆ FindEntryIndexesThatContain() [1/2]

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
uint32_t lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryIndexesThatContain ( addr,
std::vector< uint32_t > &  indexes 
)
inline

◆ FindEntryIndexesThatContain() [2/2]

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
void lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryIndexesThatContain ( addr,
size_t  lo,
size_t  hi,
std::vector< uint32_t > &  indexes 
)
inlineprivate

Definition at line 630 of file RangeMap.h.

◆ FindEntryIndexThatContains()

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
uint32_t lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryIndexThatContains ( addr) const
inline

Definition at line 508 of file RangeMap.h.

Referenced by SymbolFileDWARFDebugMap::AddOSOFileRange().

◆ FindEntryStartsAt()

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
const Entry* lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryStartsAt ( addr) const
inline

Definition at line 555 of file RangeMap.h.

Referenced by lldb_private::Symtab::FindSymbolAtFileAddress().

◆ FindEntryThatContains() [1/3]

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
Entry* lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryThatContains ( addr)
inline

◆ FindEntryThatContains() [2/3]

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
const Entry* lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryThatContains ( addr) const
inline

Definition at line 532 of file RangeMap.h.

◆ FindEntryThatContains() [3/3]

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
const Entry* lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryThatContains ( const Entry range) const
inline

Definition at line 536 of file RangeMap.h.

◆ FindEntryThatContainsOrFollows()

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
const Entry* lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryThatContainsOrFollows ( addr) const
inline

◆ GetEntryAtIndex()

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
const Entry* lldb_private::RangeDataVector< B, S, T, N, Compare >::GetEntryAtIndex ( size_t  i) const
inline

◆ GetEntryRef() [1/2]

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
Entry& lldb_private::RangeDataVector< B, S, T, N, Compare >::GetEntryRef ( size_t  i)
inline

◆ GetEntryRef() [2/2]

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
const Entry& lldb_private::RangeDataVector< B, S, T, N, Compare >::GetEntryRef ( size_t  i) const
inline

Definition at line 502 of file RangeMap.h.

◆ GetMutableEntryAtIndex()

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
Entry* lldb_private::RangeDataVector< B, S, T, N, Compare >::GetMutableEntryAtIndex ( size_t  i)
inline

Definition at line 495 of file RangeMap.h.

Referenced by lldb_private::Symtab::InitAddressIndexes().

◆ GetSize()

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
size_t lldb_private::RangeDataVector< B, S, T, N, Compare >::GetSize ( ) const
inline

◆ IsEmpty()

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
bool lldb_private::RangeDataVector< B, S, T, N, Compare >::IsEmpty ( ) const
inline

Definition at line 487 of file RangeMap.h.

Referenced by DWARFDebugAranges::IsEmpty().

◆ Sort()

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
void lldb_private::RangeDataVector< B, S, T, N, Compare >::Sort ( )
inline

Member Data Documentation

◆ m_compare

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
Compare lldb_private::RangeDataVector< B, S, T, N, Compare >::m_compare
protected

Definition at line 607 of file RangeMap.h.

◆ m_entries

template<typename B, typename S, typename T, unsigned N = 0, class Compare = std::less<T>>
Collection lldb_private::RangeDataVector< B, S, T, N, Compare >::m_entries
protected

Definition at line 606 of file RangeMap.h.


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