11#include "llvm/ADT/STLExtras.h"
26 std::lock_guard<std::recursive_mutex> guard(*
m_mutex);
27 auto it = llvm::find(
m_groups, group_sp);
35 std::lock_guard<std::recursive_mutex> guard(*
m_mutex);
43 std::lock_guard<std::recursive_mutex> guard(*
m_mutex);
44 if (!llvm::is_contained(
m_groups, group_sp))
49 std::lock_guard<std::recursive_mutex> guard(*
m_mutex);
51 return group_sp.get() == group;
59 std::lock_guard<std::recursive_mutex> guard(*
m_mutex);
60 std::vector<TargetGroupSP> groups =
m_groups;
62 group_sp->RemoveTarget(target_sp);
63 if (group_sp->GetTargets().empty())
64 m_debugger.GetTargetGroupList().DeleteTargetGroup(group_sp);
70 std::lock_guard<std::recursive_mutex> guard(*
m_mutex);
lldb::TargetGroupSP CreateTargetGroup(llvm::StringRef description)
Create and register a target group.
bool DeleteTargetGroup(const lldb::TargetGroupSP &group_sp)
Remove group_sp from this list.
void RemoveTarget(const lldb::TargetSP &target_sp)
void Remove(const TargetGroup *group)
void Add(const lldb::TargetGroupSP &group_sp)
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 > GetGroups() const
Return a snapshot of the target groups.
std::vector< lldb::TargetGroupSP > m_groups
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::TargetGroup > TargetGroupSP
std::shared_ptr< lldb_private::Target > TargetSP