mirror of
https://github.com/ETLCPP/etl.git
synced 2026-04-30 19:09:10 +08:00
860 B
860 B
| title |
|---|
| atomic |
{{< callout type="info">}}
Header: atomic.h
Since: TBC
Similar to: atomic
{{< /callout >}}
This header attempts to replicate some of the types from std::atomic.
If ETL_CPP11_SUPPORTED is defined as 1 in the profile then etl::atomic will be defined in terms of std::atomic.
Otherwise it will be implemented in terms of the built-in support, if available, from the compiler. For example, early GCC and Arm compilers will use the __sync built-ins.
If a type cannot be handled by the built-ins then the types are wrapped by etl::mutex.
If there is an ETL atomic type available for your platform then ETL_HAS_ATOMIC will be set to 1, otherwise
it will be set to 0.
Since: 20.40.0 etl::atomic supports the is_always_lock_free property.