std::stop_callback<Callback>::stop_callback

来自cppreference.com
 
 
并发支持库
线程
(C++11)
(C++20)
(C++20)
this_thread 命名空间
(C++11)
(C++11)
(C++11)
互斥
(C++11)
(C++11)  
通用锁管理
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
条件变量
(C++11)
信号量
闩与屏障
(C++20)
(C++20)
未来体
(C++11)
(C++11)
(C++11)
(C++11)
安全回收
(C++26)
(C++26)
风险指针





原子类型
(C++11)
(C++20)
原子类型的初始化
(C++11)(C++20 中弃用)
(C++11)(C++20 中弃用)
内存定序
原子操作的自由函数
原子标志的自由函数
 
std::stop_callback
成员函数
stop_callback::stop_callback
推导指引
 
template< class C >
explicit stop_callback( const std::stop_token& st, C&& cb ) noexcept(/* 见下文 */);
(1) (C++20 起)
template< class C >
explicit stop_callback( std::stop_token&& st, C&& cb ) noexcept(/* 见下文 */);
(2) (C++20 起)
stop_callback( const stop_callback& ) = delete;
(3) (C++20 起)
stop_callback( stop_callback&& ) = delete;
(4) (C++20 起)

构造新的 stop_callback 对象,保存并注册 cb 回调函数到给定的 std::stop_token 关联的停止状态中,以于之后在关联的 std::stop_source 的关联停止状态上请求停止时调用。

1) 对给定的 st,给定可调用回调函数 cb 构造(复制)stop_callback
2) 对给定的 st,给定可调用回调函数 cb 构造(移动)stop_callback

两个构造函数仅若 CallbackC 满足 std::constructible_from<Callback, C>constructible_from 才参与重载决议。若 CallbackC 满足概念但不满足其语义要求,则行为未定义。

参数

st - 用于注册此 stop_callback 对象的 std::stop_token 对象
cb - 请求停止时调用的类型

异常

1,2)
noexcept 说明:  
noexcept(std::is_nothrow_constructible_v<Callback, C>)
初始化给定的回调到 stop_callback 对象中的构造函数所抛出的任何异常。

注解

st.stop_requested() == true 对传入的 std::stop_token 成立,则在构造函数返回前于当前线程调用回调函数。