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)
 
void Append (B &&b, S &&s, T &&t)
 Append a range with data to the vector.
 
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 658 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() [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 >::Append ( B &&  b,
S &&  s,
T &&  t 
)
inline

Append a range with data to the vector.

Parameters
BThe base of the memory range
SThe size of the memory range
TThe data associated with the memory range

Definition at line 457 of file RangeMap.h.

References lldb_private::RangeDataVector< B, S, T, N, Compare >::m_entries.

◆ Append() [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 >::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 663 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: