jthread() noexcept;
template<class F, class... Args> explicit jthread(F&& f, Args&&... args);
invoke(decay-copy(std::forward<F>(f)), get_stop_token(), decay-copy(std::forward<Args>(args))...)if that expression is well-formed, otherwise
invoke(decay-copy(std::forward<F>(f)), decay-copy(std::forward<Args>(args))...)with the calls to decay-copy being evaluated in the constructing thread.
jthread(jthread&& x) noexcept;
~jthread();
jthread& operator=(jthread&& x) noexcept;