LLDB mainline
lldb_private::RangeVector< B, S, N > Class Template Reference

#include <RangeMap.h>

Inheritance diagram for lldb_private::RangeVector< B, S, N >:
[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 EntryFindEntryThatIntersects (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 402 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,
S size )
inline

Definition at line 181 of file RangeMap.h.

◆ Append() [2/2]

◆ Back() [1/2]

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

Definition at line 306 of file RangeMap.h.

◆ 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.

◆ BaseLessThan()

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

Definition at line 312 of file RangeMap.h.

◆ 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

Definition at line 236 of file RangeMap.h.

◆ 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

Definition at line 316 of file RangeMap.h.

Referenced by CommandObjectThreadUntil::DoExecute().

◆ 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

Definition at line 361 of file RangeMap.h.

◆ FindEntryThatIntersects()

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

Definition at line 383 of file RangeMap.h.

◆ GetEntryAtIndex()

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

Definition at line 297 of file RangeMap.h.

Referenced by GetCorrespondingFrameData(), and ObjectFileMachO::ParseSymtab().

◆ 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.

◆ 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.

Referenced by CommandObjectThreadUntil::DoExecute().

◆ 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.

Referenced by CommandObjectThreadUntil::DoExecute().

◆ GetOverlaps()

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

Definition at line 147 of file RangeMap.h.

◆ 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

Definition at line 185 of file RangeMap.h.

◆ 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

Definition at line 169 of file RangeMap.h.

◆ RemoveEntryAtIndex()

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

Definition at line 209 of file RangeMap.h.

◆ 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

Definition at line 283 of file RangeMap.h.

◆ 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

Definition at line 427 of file RangeMap.h.


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