/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck_tile/host/joinable_thread.hpp Source File

/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck_tile/host/joinable_thread.hpp Source File#

Composable Kernel: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck_tile/host/joinable_thread.hpp Source File
joinable_thread.hpp
Go to the documentation of this file.
1 // SPDX-License-Identifier: MIT
2 // Copyright (c) 2018-2024, Advanced Micro Devices, Inc. All rights reserved.
3 
4 #pragma once
5 
6 #include <thread>
7 #include <utility>
8 
9 namespace ck_tile {
10 
11 struct joinable_thread : std::thread
12 {
13  template <typename... Xs>
14  joinable_thread(Xs&&... xs) : std::thread(std::forward<Xs>(xs)...)
15  {
16  }
17 
20 
22  {
23  if(this->joinable())
24  this->join();
25  }
26 };
27 } // namespace ck_tile
Definition: cluster_descriptor.hpp:13
Definition: joinable_thread.hpp:12
joinable_thread(Xs &&... xs)
Definition: joinable_thread.hpp:14
~joinable_thread()
Definition: joinable_thread.hpp:21
joinable_thread & operator=(joinable_thread &&)=default
joinable_thread(joinable_thread &&)=default