std::atomic_init
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
(deprecated in C++20)
(deprecated in C++20)
constant initialization of an atomic variable of static storage duration
(function macro) [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)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++26)
(C++26)
(C++26)
(C++11)
(C++20)
(C++11)
atomic_init
(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
<atomic>
template< class T >
(1)
(since C++11) void atomic_init
( std::atomic <T>* obj,
(deprecated in C++20)
template< class T >
(2)
(since C++11) void atomic_init
( volatile std::atomic <T>* obj,
(deprecated in C++20)
Initializes the default-constructed atomic object obj with the value desired. The function is not atomic: concurrent access from another thread, even through an atomic operation, is a data race.
If obj was not default-constructed, or this function is called twice on the same obj, the behavior is undefined.
[edit] Parameters
obj
-
pointer to an atomic object to initialize
desired
-
the value to initialize atomic object with
[edit] Return value
(none)
[edit] Notes
This function is provided for compatibility with C. If the compatibility is not required, std::atomic may be initialized through their non-default constructors.
[edit] Example
This section is incomplete
Reason: no example
Reason: no example
[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 |
---|---|---|---|
P0558R1 | C++11 | exact type match was required becauseT was deduced from multiple arguments
|
T is only deducedfrom obj |
[edit] See also
(C++11)(deprecated in C++20)
(function macro) [edit]
C documentation for atomic_init