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 > Class Template Reference

#include <RangeMap.h>

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

Public Types

typedef B BaseType
 
typedef S SizeType
 
typedef Range< B, S > Entry
 
typedef std::vector< EntryCollection
 

Public Member Functions

 RangeVector ()=default
 
 ~RangeVector ()=default
 
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
 

Static Public Member Functions

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>
class lldb_private::RangeVector< B, S >

Definition at line 332 of file RangeMap.h.

Member Typedef Documentation

◆ BaseType

template<typename B, typename S>
typedef B lldb_private::RangeVector< B, S >::BaseType

Definition at line 334 of file RangeMap.h.

◆ Collection

template<typename B, typename S>
typedef std::vector<Entry> lldb_private::RangeVector< B, S >::Collection

Definition at line 337 of file RangeMap.h.

◆ Entry

template<typename B, typename S>
typedef Range<B, S> lldb_private::RangeVector< B, S >::Entry

Definition at line 336 of file RangeMap.h.

◆ SizeType

template<typename B, typename S>
typedef S lldb_private::RangeVector< B, S >::SizeType

Definition at line 335 of file RangeMap.h.

Constructor & Destructor Documentation

◆ RangeVector()

template<typename B, typename S>
lldb_private::RangeVector< B, S >::RangeVector ( )
default

◆ ~RangeVector()

template<typename B, typename S>
lldb_private::RangeVector< B, S >::~RangeVector ( )
default

Member Function Documentation

◆ Append() [1/2]

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

◆ Append() [2/2]

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

Definition at line 345 of file RangeMap.h.

◆ Back() [1/2]

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

◆ Back() [2/2]

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

Definition at line 488 of file RangeMap.h.

◆ BaseLessThan()

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

Definition at line 492 of file RangeMap.h.

◆ Clear()

template<typename B, typename S>
void lldb_private::RangeVector< B, S >::Clear ( )
inline

◆ CombineConsecutiveRanges()

template<typename B, typename S>
void lldb_private::RangeVector< B, S >::CombineConsecutiveRanges ( )
inline

Definition at line 400 of file RangeMap.h.

Referenced by SymbolFileDWARF::ParseVariableDIE().

◆ CombinePrevAndNext()

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

Definition at line 564 of file RangeMap.h.

◆ FindEntryIndexThatContains()

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

Definition at line 496 of file RangeMap.h.

Referenced by lldb_private::AllocatedBlock::FreeBlock().

◆ FindEntryThatContains() [1/2]

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

◆ FindEntryThatContains() [2/2]

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

Definition at line 541 of file RangeMap.h.

◆ GetEntryAtIndex()

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

◆ GetEntryRef() [1/2]

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

◆ GetEntryRef() [2/2]

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

Definition at line 484 of file RangeMap.h.

◆ GetMaxRangeEnd()

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

Definition at line 452 of file RangeMap.h.

◆ GetMinRangeBase()

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

Definition at line 441 of file RangeMap.h.

◆ GetSize()

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

◆ Insert()

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

◆ IsEmpty()

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

◆ RemoveEntryAtIndex()

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

◆ Reserve()

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

◆ Slide()

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

Definition at line 463 of file RangeMap.h.

◆ Sort()

template<typename B, typename S>
void lldb_private::RangeVector< B, S >::Sort ( )
inline

Member Data Documentation

◆ m_entries

template<typename B, typename S>
Collection lldb_private::RangeVector< B, S >::m_entries
protected

Definition at line 585 of file RangeMap.h.


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