std:: stoppable_token

From cppreference.com
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe Reclamation
Hazard Pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
Free functions for atomic operations
Free functions for atomic flags
Defined in header <stop_token>
template < class Token >

concept stoppable_token =
requires ( const Token tok ) {
typename /*check-type-alias-exists*/ < Token :: template callback_type > ;
{ tok. stop_requested ( ) } noexcept - > std:: same_as < bool > ;
{ tok. stop_possible ( ) } noexcept - > std:: same_as < bool > ;
{ Token ( tok ) } noexcept ; // see implicit expression variations
} &&
std:: copyable < Token > &&

std:: equality_comparable < Token > ;
(since C++26)
Helper templates
template < template < class > class >
struct /*check-type-alias-exists*/ ; // not defined
( exposition only* )

The concept stoppable_token<Token> specifies the basic interface of a stop token that is copyable and equality_comparable and allows polling to see if the stop request is possible and whether the request has been made.

Semantic requirements

See also

specifies a stop token that does not allow stopping
(concept)