never_stop_token — std::never_stop_token
never_stop_token — std::never_stop_token
std::never_stop_token 클래스는 중지가 절대 가능하지도 요청되지도 않는다는 정적 정보를 제공하는 unstoppable_token 개념 모델이에요. C++26에서 도입됐어요. <stop_token> 헤더에 있어요.
만약 다른 연관 중지 토큰이 제공되지 않으면, std::get_stop_token이 반환하는 기본 중지 토큰 타입이에요.
출처: cppreference
본문
// <stop_token> 헤더, C++26
class never_stop_token;
특징
stop_requested()— 항상false반환 (중지 요청 불가).stop_possible()— 항상false반환 (중지 불가능).- 중지 기능이 없는(협조적 취소를 원하지 않는) 토큰의 기본·대용 타입이에요.
#include <stop_token>
std::never_stop_token t;
bool a = t.stop_requested(); // false
bool b = t.stop_possible(); // false
활용
std::stoppable_callback(C++26), std::jthread의 중지 메커니즘 등에서 "중지를 고려하지 않는" 기본 토큰으로 쓰여요. 일반 스레드처럼 중지 개념이 필요 없는 코드에 기본값을 제공해요.
// 중지 가능한 기반 시나리오에서 기본 토큰으로 사용
void task(std::stop_token st) {
while (!st.stop_requested()) {
// ...
}
}
// 중지 없이 그냥 실행하고 싶으면 never_stop_token을 기본으로
std::never_stop_token은 중지를 원하지 않는 실행의 기본 토큰이에요. stoppable_token 카테고리의 특수 케이스로, 중지가 "절대 없음"을 컴파일 타임에 알려줘서 최적화에 도움을 줘요. C++26 신규 기능이에요.