LLDB  mainline
Public Types | Public Member Functions | Protected Attributes | List of all members
lldb_private::ThreadCollection Class Reference

#include <ThreadCollection.h>

Inheritance diagram for lldb_private::ThreadCollection:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::ThreadCollection:
Collaboration graph
[legend]

Public Types

typedef std::vector< lldb::ThreadSP > collection
 
typedef LockingAdaptedIterable< collection, lldb::ThreadSP, vector_adapter, std::recursive_mutex > ThreadIterable
 

Public Member Functions

 ThreadCollection ()
 
 ThreadCollection (collection threads)
 
virtual ~ThreadCollection ()
 
uint32_t GetSize ()
 
void AddThread (const lldb::ThreadSP &thread_sp)
 
void AddThreadSortedByIndexID (const lldb::ThreadSP &thread_sp)
 
void InsertThread (const lldb::ThreadSP &thread_sp, uint32_t idx)
 
lldb::ThreadSP GetThreadAtIndex (uint32_t idx)
 
virtual ThreadIterable Threads ()
 
virtual std::recursive_mutex & GetMutex () const
 

Protected Attributes

collection m_threads
 
std::recursive_mutex m_mutex
 

Detailed Description

Definition at line 20 of file ThreadCollection.h.

Member Typedef Documentation

◆ collection

typedef std::vector<lldb::ThreadSP> lldb_private::ThreadCollection::collection

Definition at line 22 of file ThreadCollection.h.

◆ ThreadIterable

Definition at line 25 of file ThreadCollection.h.

Constructor & Destructor Documentation

◆ ThreadCollection() [1/2]

ThreadCollection::ThreadCollection ( )

Definition at line 19 of file ThreadCollection.cpp.

◆ ThreadCollection() [2/2]

ThreadCollection::ThreadCollection ( collection  threads)

Definition at line 21 of file ThreadCollection.cpp.

◆ ~ThreadCollection()

virtual lldb_private::ThreadCollection::~ThreadCollection ( )
inlinevirtual

Member Function Documentation

◆ AddThread()

void ThreadCollection::AddThread ( const lldb::ThreadSP &  thread_sp)

◆ AddThreadSortedByIndexID()

void ThreadCollection::AddThreadSortedByIndexID ( const lldb::ThreadSP &  thread_sp)

◆ GetMutex()

virtual std::recursive_mutex& lldb_private::ThreadCollection::GetMutex ( ) const
inlinevirtual

Reimplemented in lldb_private::ThreadList.

Definition at line 50 of file ThreadCollection.h.

References m_mutex.

Referenced by AddThread(), AddThreadSortedByIndexID(), GetSize(), GetThreadAtIndex(), InsertThread(), and Threads().

◆ GetSize()

uint32_t ThreadCollection::GetSize ( )

Definition at line 54 of file ThreadCollection.cpp.

References GetMutex(), and m_threads.

Referenced by ~ThreadCollection().

◆ GetThreadAtIndex()

ThreadSP ThreadCollection::GetThreadAtIndex ( uint32_t  idx)

Definition at line 59 of file ThreadCollection.cpp.

References GetMutex(), and m_threads.

Referenced by ~ThreadCollection().

◆ InsertThread()

void ThreadCollection::InsertThread ( const lldb::ThreadSP &  thread_sp,
uint32_t  idx 
)

Definition at line 45 of file ThreadCollection.cpp.

References GetMutex(), and m_threads.

Referenced by OperatingSystemPython::UpdateThreadList(), and ~ThreadCollection().

◆ Threads()

virtual ThreadIterable lldb_private::ThreadCollection::Threads ( )
inlinevirtual

Definition at line 46 of file ThreadCollection.h.

References GetMutex(), and m_threads.

Referenced by lldb_private::ProcessWindows::UpdateThreadList().

Member Data Documentation

◆ m_mutex

std::recursive_mutex lldb_private::ThreadCollection::m_mutex
mutableprotected

Definition at line 54 of file ThreadCollection.h.

Referenced by GetMutex().

◆ m_threads

collection lldb_private::ThreadCollection::m_threads
protected

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