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]

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
 
using const_iterator = typename Collection::const_iterator
 

Public Member Functions

 RangeDataVector (Compare compare=Compare())
 
 ~RangeDataVector ()=default
 
void Append (const Entry &entry)
 
bool Erase (uint32_t start, uint32_t end)
 
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
 
uint32_t FindEntryIndexThatContainsOrFollows (B addr) const
 
EntryBack ()
 
const EntryBack () const
 
const_iterator begin () const
 
const_iterator end () 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

B 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 440 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 444 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 445 of file RangeMap.h.

◆ const_iterator

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

Definition at line 652 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 443 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 442 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 447 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

◆ 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

◆ 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

◆ begin()

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

◆ 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

◆ 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

◆ end()

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

◆ Erase()

template<typename B , typename S , typename T , unsigned N = 0, class Compare = std::less<T>>
bool lldb_private::RangeDataVector< B, S, T, N, Compare >::Erase ( uint32_t  start,
uint32_t  end 
)
inline

◆ FindEntryIndexesThatContain() [1/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 ( B  addr,
size_t  lo,
size_t  hi,
std::vector< uint32_t > &  indexes 
)
inlineprivate

◆ FindEntryIndexesThatContain() [2/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 ( B  addr,
std::vector< uint32_t > &  indexes 
)
inline

◆ 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 ( B  addr) const
inline

◆ FindEntryIndexThatContainsOrFollows()

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 >::FindEntryIndexThatContainsOrFollows ( B  addr) const
inline

◆ 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 ( B  addr) const
inline

◆ 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 ( B  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 ( B  addr) const
inline

◆ 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

◆ 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 ( B  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

◆ 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

◆ 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

◆ 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

◆ 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 657 of file RangeMap.h.

Referenced by lldb_private::RangeDataVector< B, S, T, N, Compare >::Append(), lldb_private::RangeDataVector< B, S, T, N, Compare >::Back(), lldb_private::RangeDataVector< B, S, T, N, Compare >::begin(), lldb_private::RangeDataVector< B, S, T, N, Compare >::Clear(), lldb_private::RangeDataVector< B, S, T, N, Compare >::CombineConsecutiveEntriesWithEqualData(), lldb_private::RangeDataVector< B, S, T, N, Compare >::ComputeUpperBounds(), lldb_private::RangeDataVector< B, S, T, N, Compare >::end(), lldb_private::RangeDataVector< B, S, T, N, Compare >::Erase(), lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryIndexesThatContain(), lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryIndexThatContains(), lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryIndexThatContainsOrFollows(), lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryStartsAt(), lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryThatContains(), lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryThatContainsOrFollows(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetEntryAtIndex(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetEntryRef(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetMutableEntryAtIndex(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetSize(), lldb_private::RangeDataVector< B, S, T, N, Compare >::IsEmpty(), and lldb_private::RangeDataVector< B, S, T, N, Compare >::Sort().


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