Android-cuttlefish cvd tool
Private Member Functions | Private Attributes | Friends | List of all members
cuttlefish::confui::thread::ThreadTracer Class Reference

#include <host_utils.h>

Private Member Functions

template<typename F , typename... Args>
std::thread RunThread (const std::string &name, F &&f, Args &&... args)
 
std::string Get (const std::thread::id id=std::this_thread::get_id())
 
std::optional< std::thread::idGet (const std::string &name)
 
void Set (const std::string &name, const std::thread::id tid)
 
 ThreadTracer ()=default
 

Private Attributes

std::map< std::thread::id, std::string > id2name_
 
std::map< std::string, std::thread::idname2id_
 
std::mutex mtx_
 

Friends

ThreadTracerGetThreadTracer ()
 
std::string GetName (const std::thread::id tid)
 
std::optional< std::thread::idGetId (const std::string &name)
 
void Set (const std::string &name, const std::thread::id tid)
 
template<typename F , typename... Args>
std::thread RunThread (const std::string &name, F &&f, Args &&... args)
 

Constructor & Destructor Documentation

◆ ThreadTracer()

cuttlefish::confui::thread::ThreadTracer::ThreadTracer ( )
privatedefault

Member Function Documentation

◆ Get() [1/2]

std::optional< std::thread::id > cuttlefish::confui::thread::ThreadTracer::Get ( const std::string &  name)
private

◆ Get() [2/2]

std::string cuttlefish::confui::thread::ThreadTracer::Get ( const std::thread::id  id = std::this_thread::get_id())
private

◆ RunThread()

template<typename F , typename... Args>
std::thread cuttlefish::confui::thread::ThreadTracer::RunThread ( const std::string &  name,
F &&  f,
Args &&...  args 
)
inlineprivate

◆ Set()

void cuttlefish::confui::thread::ThreadTracer::Set ( const std::string &  name,
const std::thread::id  tid 
)
private

Friends And Related Function Documentation

◆ GetId

std::optional< std::thread::id > GetId ( const std::string &  name)
friend

◆ GetName

std::string GetName ( const std::thread::id  tid)
friend

◆ GetThreadTracer

ThreadTracer & GetThreadTracer ( )
friend

◆ RunThread

template<typename F , typename... Args>
std::thread RunThread ( const std::string &  name,
F &&  f,
Args &&...  args 
)
friend

◆ Set

void cuttlefish::confui::thread::ThreadTracer::Set ( const std::string &  name,
const std::thread::id  tid 
)
friend

Member Data Documentation

◆ id2name_

std::map<std::thread::id, std::string> cuttlefish::confui::thread::ThreadTracer::id2name_
private

◆ mtx_

std::mutex cuttlefish::confui::thread::ThreadTracer::mtx_
private

◆ name2id_

std::map<std::string, std::thread::id> cuttlefish::confui::thread::ThreadTracer::name2id_
private

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