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

#include <RangeMap.h>

Inheritance diagram for lldb_private::RangeVector< B, S, N >:
Inheritance graph
[legend]

Public Types

typedef B BaseType
 
typedef S SizeType
 
typedef Range< B, S > Entry
 
typedef llvm::SmallVector< Entry, N > Collection
 
using const_iterator = typename Collection::const_iterator
 

Public Member Functions

 RangeVector ()=default
 
 ~RangeVector ()=default
 
bool operator== (const RangeVector &rhs) const
 
void Append (const Entry &entry)
 
void Append (B base, S size)
 
void Insert (const Entry &entry, bool combine)
 
bool RemoveEntryAtIndex (uint32_t idx)
 
void Sort ()
 
void CombineConsecutiveRanges ()
 
BaseType GetMinRangeBase (BaseType fail_value) const
 
BaseType GetMaxRangeEnd (BaseType fail_value) const
 
void Slide (BaseType slide)
 
void Clear ()
 
void Reserve (typename Collection::size_type size)
 
bool IsEmpty () const
 
size_t GetSize () const
 
const EntryGetEntryAtIndex (size_t i) const
 
EntryGetEntryRef (size_t i)
 
const EntryGetEntryRef (size_t i) const
 
EntryBack ()
 
const EntryBack () const
 
uint32_t FindEntryIndexThatContains (B addr) const
 
const EntryFindEntryThatContains (B addr) const
 
const EntryFindEntryThatContains (const Entry &range) const
 
const_iterator begin () const
 
const_iterator end () const
 

Static Public Member Functions

static RangeVector GetOverlaps (const RangeVector &vec1, const RangeVector &vec2)
 
static bool BaseLessThan (const Entry &lhs, const Entry &rhs)
 

Protected Member Functions

void CombinePrevAndNext (typename Collection::iterator pos)
 

Protected Attributes

Collection m_entries
 

Detailed Description

template<typename B, typename S, unsigned N = 0>
class lldb_private::RangeVector< B, S, N >

Definition at line 136 of file RangeMap.h.

Member Typedef Documentation

◆ BaseType

template<typename B , typename S , unsigned N = 0>
typedef B lldb_private::RangeVector< B, S, N >::BaseType

Definition at line 138 of file RangeMap.h.

◆ Collection

template<typename B , typename S , unsigned N = 0>
typedef llvm::SmallVector<Entry, N> lldb_private::RangeVector< B, S, N >::Collection

Definition at line 141 of file RangeMap.h.

◆ const_iterator

template<typename B , typename S , unsigned N = 0>
using lldb_private::RangeVector< B, S, N >::const_iterator = typename Collection::const_iterator

Definition at line 383 of file RangeMap.h.

◆ Entry

template<typename B , typename S , unsigned N = 0>
typedef Range<B, S> lldb_private::RangeVector< B, S, N >::Entry

Definition at line 140 of file RangeMap.h.

◆ SizeType

template<typename B , typename S , unsigned N = 0>
typedef S lldb_private::RangeVector< B, S, N >::SizeType

Definition at line 139 of file RangeMap.h.

Constructor & Destructor Documentation

◆ RangeVector()

template<typename B , typename S , unsigned N = 0>
lldb_private::RangeVector< B, S, N >::RangeVector ( )
default

◆ ~RangeVector()

template<typename B , typename S , unsigned N = 0>
lldb_private::RangeVector< B, S, N >::~RangeVector ( )
default

Member Function Documentation

◆ Append() [1/2]

template<typename B , typename S , unsigned N = 0>
void lldb_private::RangeVector< B, S, N >::Append ( B  base,
size 
)
inline

Definition at line 181 of file RangeMap.h.

References lldb_private::RangeVector< B, S, N >::m_entries.

◆ Append() [2/2]

template<typename B , typename S , unsigned N = 0>
void lldb_private::RangeVector< B, S, N >::Append ( const Entry entry)
inline

◆ Back() [1/2]

template<typename B , typename S , unsigned N = 0>
Entry * lldb_private::RangeVector< B, S, N >::Back ( )
inline

◆ Back() [2/2]

template<typename B , typename S , unsigned N = 0>
const Entry * lldb_private::RangeVector< B, S, N >::Back ( ) const
inline

Definition at line 308 of file RangeMap.h.

References lldb_private::RangeVector< B, S, N >::m_entries.

◆ BaseLessThan()

template<typename B , typename S , unsigned N = 0>
static bool lldb_private::RangeVector< B, S, N >::BaseLessThan ( const Entry lhs,
const Entry rhs 
)
inlinestatic

◆ begin()

template<typename B , typename S , unsigned N = 0>
const_iterator lldb_private::RangeVector< B, S, N >::begin ( ) const
inline

◆ Clear()

template<typename B , typename S , unsigned N = 0>
void lldb_private::RangeVector< B, S, N >::Clear ( )
inline

◆ CombineConsecutiveRanges()

template<typename B , typename S , unsigned N = 0>
void lldb_private::RangeVector< B, S, N >::CombineConsecutiveRanges ( )
inline

◆ CombinePrevAndNext()

template<typename B , typename S , unsigned N = 0>
void lldb_private::RangeVector< B, S, N >::CombinePrevAndNext ( typename Collection::iterator  pos)
inlineprotected

◆ end()

template<typename B , typename S , unsigned N = 0>
const_iterator lldb_private::RangeVector< B, S, N >::end ( ) const
inline

◆ FindEntryIndexThatContains()

template<typename B , typename S , unsigned N = 0>
uint32_t lldb_private::RangeVector< B, S, N >::FindEntryIndexThatContains ( B  addr) const
inline

◆ FindEntryThatContains() [1/2]

template<typename B , typename S , unsigned N = 0>
const Entry * lldb_private::RangeVector< B, S, N >::FindEntryThatContains ( B  addr) const
inline

◆ FindEntryThatContains() [2/2]

template<typename B , typename S , unsigned N = 0>
const Entry * lldb_private::RangeVector< B, S, N >::FindEntryThatContains ( const Entry range) const
inline

◆ GetEntryAtIndex()

template<typename B , typename S , unsigned N = 0>
const Entry * lldb_private::RangeVector< B, S, N >::GetEntryAtIndex ( size_t  i) const
inline

◆ GetEntryRef() [1/2]

template<typename B , typename S , unsigned N = 0>
Entry & lldb_private::RangeVector< B, S, N >::GetEntryRef ( size_t  i)
inline

◆ GetEntryRef() [2/2]

template<typename B , typename S , unsigned N = 0>
const Entry & lldb_private::RangeVector< B, S, N >::GetEntryRef ( size_t  i) const
inline

Definition at line 304 of file RangeMap.h.

References lldb_private::RangeVector< B, S, N >::m_entries.

◆ GetMaxRangeEnd()

template<typename B , typename S , unsigned N = 0>
BaseType lldb_private::RangeVector< B, S, N >::GetMaxRangeEnd ( BaseType  fail_value) const
inline

Definition at line 272 of file RangeMap.h.

References lldb_private::RangeVector< B, S, N >::m_entries.

◆ GetMinRangeBase()

template<typename B , typename S , unsigned N = 0>
BaseType lldb_private::RangeVector< B, S, N >::GetMinRangeBase ( BaseType  fail_value) const
inline

Definition at line 261 of file RangeMap.h.

References lldb_private::RangeVector< B, S, N >::m_entries.

◆ GetOverlaps()

template<typename B , typename S , unsigned N = 0>
static RangeVector lldb_private::RangeVector< B, S, N >::GetOverlaps ( const RangeVector< B, S, N > &  vec1,
const RangeVector< B, S, N > &  vec2 
)
inlinestatic

◆ GetSize()

template<typename B , typename S , unsigned N = 0>
size_t lldb_private::RangeVector< B, S, N >::GetSize ( ) const
inline

◆ Insert()

template<typename B , typename S , unsigned N = 0>
void lldb_private::RangeVector< B, S, N >::Insert ( const Entry entry,
bool  combine 
)
inline

◆ IsEmpty()

template<typename B , typename S , unsigned N = 0>
bool lldb_private::RangeVector< B, S, N >::IsEmpty ( ) const
inline

◆ operator==()

template<typename B , typename S , unsigned N = 0>
bool lldb_private::RangeVector< B, S, N >::operator== ( const RangeVector< B, S, N > &  rhs) const
inline

◆ RemoveEntryAtIndex()

template<typename B , typename S , unsigned N = 0>
bool lldb_private::RangeVector< B, S, N >::RemoveEntryAtIndex ( uint32_t  idx)
inline

◆ Reserve()

template<typename B , typename S , unsigned N = 0>
void lldb_private::RangeVector< B, S, N >::Reserve ( typename Collection::size_type  size)
inline

◆ Slide()

template<typename B , typename S , unsigned N = 0>
void lldb_private::RangeVector< B, S, N >::Slide ( BaseType  slide)
inline

◆ Sort()

template<typename B , typename S , unsigned N = 0>
void lldb_private::RangeVector< B, S, N >::Sort ( )
inline

Member Data Documentation

◆ m_entries

template<typename B , typename S , unsigned N = 0>
Collection lldb_private::RangeVector< B, S, N >::m_entries
protected

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