46#include <unordered_map>
56 template <
typename Tp>
58 template <
typename Tp>
106 const uintmax_t&
id()
const {
return m_id; }
138 std::shared_ptr<condition_t>
m_task_cond = std::make_shared<condition_t>();
const atomic_int & task_count() const
std::atomic_uintmax_t atomic_uint
virtual bool is_master() const
std::atomic_intmax_t atomic_int
std::shared_ptr< atomic_int > m_tot_task_count
const uintmax_t & id() const
void set_pool(ThreadPool *tp)
atomic_int & task_count()
VTaskGroup(this_type &&rhs)=default
vtask_list_type vtask_list
std::vector< Tp > container_type
std::shared_ptr< condition_t > m_task_cond
VTaskGroup(const this_type &)=delete
ThreadPool * pool() const
virtual intmax_t pending()
std::vector< Tp > list_type
this_type & operator=(const this_type &)=delete
static void set_verbose(int level)
virtual bool is_native_task_group() const
std::shared_ptr< lock_t > m_task_lock
container_type< task_pointer > vtask_list_type
this_type & operator=(this_type &&rhs)=default
static tid_type this_tid()
std::shared_ptr< condition_t > task_cond()
VTask is the abstract class stored in thread_pool.
std::condition_variable Condition