11#include "llvm/ADT/STLExtras.h"
19 std::lock_guard<std::recursive_mutex> guard(*
m_mutex);
30 std::lock_guard<std::recursive_mutex> guard(*
m_mutex);
31 auto it = llvm::find(
m_groups, group_sp);
39 std::lock_guard<std::recursive_mutex> guard(*
m_mutex);
47 std::lock_guard<std::recursive_mutex> guard(*
m_mutex);
48 if (!llvm::is_contained(
m_groups, group_sp))
53 std::lock_guard<std::recursive_mutex> guard(*
m_mutex);
55 return group_sp.get() == group;
63 std::lock_guard<std::recursive_mutex> guard(*
m_mutex);
64 std::vector<TargetGroupSP> groups =
m_groups;
66 group_sp->RemoveTarget(target_sp);
71 std::lock_guard<std::recursive_mutex> guard(*
m_mutex);
lldb::TargetGroupSP CreateTargetGroup(llvm::StringRef description)
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