#define PTL_NO_SANITIZE_THREAD
virtual void ExecuteOnSpecificThreads(ThreadIdSet tid_set, ThreadPool *tp, function_type f)=0
virtual task_pointer GetTask(intmax_t subq=-1, intmax_t nitr=-1)=0
virtual size_type true_size() const
std::set< ThreadId > ThreadIdSet
virtual size_type bin_size(size_type bin) const =0
std::function< void()> function_type
virtual intmax_t InsertTask(task_pointer &&, ThreadData *=nullptr, intmax_t subq=-1) PTL_NO_SANITIZE_THREAD=0
virtual void ExecuteOnAllThreads(ThreadPool *tp, function_type f)=0
virtual bool empty() const =0
virtual void resize(intmax_t)=0
virtual ~VUserTaskQueue()=default
VUserTaskQueue(intmax_t nworkers=-1)
virtual VUserTaskQueue * clone()=0
virtual size_type size() const =0
virtual intmax_t GetThreadBin() const =0
std::atomic< intmax_t > AtomicInt
virtual bool bin_empty(size_type bin) const =0
std::shared_ptr< VTask > task_pointer
virtual bool true_empty() const