std::launch
From cppreference.com
 
 
 
 
 
 C++ 
 Feature test macros (C++20)
 Concepts library (C++20)
 Metaprogramming library (C++11)
 Ranges library (C++20)
 Filesystem library (C++17)
 Concurrency support library (C++11)
 Execution control library (C++26)
Concurrency support library 
 
 
 
 
 
 
 
Cooperative cancellation  
 
 
 
 
 
 
 
 
 
 
 
 
 
 Mutual exclusion  Generic lock management  
 
 
 
 
 
 
 
 
 
 
 Condition variables  Semaphores  Latches and Barriers  
 
 
 
 Futures  
 
 
 
 
 
 Safe reclamation  Hazard pointers  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 runs a function asynchronously (potentially in a new thread) and returns a std::future  that will hold the result 
(function template) [edit]
 
 
 
 
 
 
 
 
 
 (C++11)
(C++20)
(C++11)
(C++11)
(C++20)
(C++26)
(C++26)
(C++20)
(C++26)
  (C++20)
(C++26)
(C++26)
(C++26)
(C++26)
(C++26)
(C++26)
  (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)
(C++11)
(C++11)
(C++11)
(C++11)
(C++20)(C++20)
(C++20)
(C++20)
launch
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++26)
(C++26)
(C++26)
(C++11)
(C++20)
(C++11)
(C++11)(deprecated in C++20)
(C++11)(deprecated in C++20)
(C++11)
(C++11)
(C++11)(deprecated in C++26)
(C++11)
(C++11)
(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)
(C++26)(C++26)
(C++26)(C++26)
(C++11)
(C++20)(C++20)
(C++20)
(C++20)
(C++11)(C++11)
(C++11)(C++11)
(C++20)(C++20)
(C++20)(C++20)
(C++20)
(C++20)
Defined in header 
 
 
<future> 
 enum class launch : /* unspecified */ {
 
 (since C++11) 
    async =    /* unspecified */,
    deferred = /* unspecified */,
    /* implementation-defined */
std::launch is a BitmaskType. It specifies the launch policy for a task executed by the std::async  function.
[edit] Constants
The following constants denoting individual bits are defined by the standard library:
 Enumerator
 Meaning
async
 the task is executed on a different thread, potentially by creating and launching it first
deferred
 the task is executed on the calling thread the first time its result is requested (lazy evaluation)
In addition, implementations are allowed to:
- define additional bits and bitmasks to specify restrictions on task interactions applicable to a subset of launch policies, and
- enable those additional bitmasks for the first (default) overload of std::async .
[edit] Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior | 
|---|---|---|---|
| LWG 2102 | C++11 | std::launchwas an implementation-defined type | it is not implementation-defined | 
[edit] See also
(C++11)
(function template) [edit]