std::stoppable_token

From cppreference.com
< cpp‎ | thread
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
(C++11)
(C++11)
(C++17)
Generic lock management
(C++11)
(C++11)
(C++17)
(C++11)
(C++14)
(C++11)
(C++11)
(C++11)
(C++11) (C++11) (C++11) (C++11) (C++11) (C++11)
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Safe Reclamation
(C++26)
(C++26)
(C++26)
Hazard Pointers
(C++26)
Atomic types
(C++11)
(C++20)
(C++11)
Initialization of atomic types
(C++11)(deprecated in C++20)
(C++11)(deprecated in C++20)
Memory ordering
(C++11)
(C++11)
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

Semantic requirements

See also

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