|
LLDB mainline
|
A thread-safe collection of target groups. More...
#include <TargetGroupList.h>
Public Member Functions | |
| ~TargetGroupList () | |
| TargetGroupList (const TargetGroupList &)=delete | |
| TargetGroupList & | operator= (const TargetGroupList &)=delete |
| TargetGroupList (TargetGroupList &&)=delete | |
| TargetGroupList & | operator= (TargetGroupList &&)=delete |
| lldb::TargetGroupSP | CreateTargetGroup (llvm::StringRef description) |
| bool | DeleteTargetGroup (const lldb::TargetGroupSP &group_sp) |
Remove group_sp from this list. | |
| std::vector< lldb::TargetGroupSP > | GetGroups () const |
| Return a snapshot of the target groups. | |
Private Member Functions | |
| TargetGroupList (Debugger &debugger) | |
| TargetGroupList (Debugger &debugger, const std::shared_ptr< std::recursive_mutex > &mutex) | |
| void | Add (const lldb::TargetGroupSP &group_sp) |
| void | Remove (const TargetGroup *group) |
| void | Clear () |
| void | RemoveTarget (const lldb::TargetSP &target_sp) |
Private Attributes | |
| Debugger & | m_debugger |
| std::shared_ptr< std::recursive_mutex > | m_mutex |
| Shared by the debugger's list, each target's list, and every group. | |
| std::vector< lldb::TargetGroupSP > | m_groups |
Friends | |
| class | Debugger |
| class | Target |
| class | TargetGroup |
A thread-safe collection of target groups.
A Debugger uses one as its registry, and each Target uses one for the groups it belongs to.
Definition at line 22 of file TargetGroupList.h.
|
inlineexplicitprivate |
Definition at line 27 of file TargetGroupList.h.
References Debugger, m_debugger, and m_mutex.
Referenced by operator=(), operator=(), TargetGroupList(), and TargetGroupList().
|
inlineprivate |
Definition at line 31 of file TargetGroupList.h.
References Debugger, m_debugger, and m_mutex.
| TargetGroupList::~TargetGroupList | ( | ) |
Definition at line 16 of file TargetGroupList.cpp.
References Clear().
|
delete |
References TargetGroupList().
|
delete |
References TargetGroupList().
|
private |
Definition at line 43 of file TargetGroupList.cpp.
|
private |
Definition at line 70 of file TargetGroupList.cpp.
References m_groups, and m_mutex.
Referenced by ~TargetGroupList().
| TargetGroupSP TargetGroupList::CreateTargetGroup | ( | llvm::StringRef | description | ) |
Definition at line 18 of file TargetGroupList.cpp.
References m_debugger, m_groups, m_mutex, and TargetGroup.
| bool TargetGroupList::DeleteTargetGroup | ( | const lldb::TargetGroupSP & | group_sp | ) |
Remove group_sp from this list.
Other shared references, including target membership lists, remain valid.
Definition at line 26 of file TargetGroupList.cpp.
| std::vector< TargetGroupSP > TargetGroupList::GetGroups | ( | ) | const |
Return a snapshot of the target groups.
Modifying the returned vector does not modify this list.
Definition at line 38 of file TargetGroupList.cpp.
References m_groups, and m_mutex.
Referenced by CommandObjectTargetGroupsList::DoExecute().
|
delete |
References TargetGroupList().
|
delete |
References TargetGroupList().
|
private |
Definition at line 52 of file TargetGroupList.cpp.
References m_groups, m_mutex, and TargetGroup.
|
private |
Definition at line 59 of file TargetGroupList.cpp.
|
friend |
Definition at line 24 of file TargetGroupList.h.
References Debugger.
Referenced by Debugger, TargetGroupList(), and TargetGroupList().
|
friend |
|
friend |
Definition at line 54 of file TargetGroupList.h.
References TargetGroup.
Referenced by CreateTargetGroup(), Remove(), and TargetGroup.
|
private |
Definition at line 61 of file TargetGroupList.h.
Referenced by CreateTargetGroup(), TargetGroupList(), and TargetGroupList().
|
private |
Definition at line 65 of file TargetGroupList.h.
Referenced by Add(), Clear(), CreateTargetGroup(), DeleteTargetGroup(), GetGroups(), Remove(), and RemoveTarget().
|
private |
Shared by the debugger's list, each target's list, and every group.
Group membership operations never acquire Target::m_mutex.
Definition at line 64 of file TargetGroupList.h.
Referenced by Add(), Clear(), CreateTargetGroup(), DeleteTargetGroup(), GetGroups(), Remove(), RemoveTarget(), TargetGroupList(), and TargetGroupList().