HikoGUI
A low latency retained GUI
|
Public Types | |
using | element_type = T |
using | pointer = element_type * |
using | reference = element_type & |
Public Member Functions | |
atomic_unique_ptr (atomic_unique_ptr const &)=delete | |
atomic_unique_ptr & | operator= (atomic_unique_ptr const &)=delete |
atomic_unique_ptr (atomic_unique_ptr &&other) noexcept | |
atomic_unique_ptr & | operator= (atomic_unique_ptr &&other) noexcept |
constexpr | atomic_unique_ptr (std::nullptr_t) noexcept |
atomic_unique_ptr & | operator= (std::nullptr_t) noexcept |
constexpr | atomic_unique_ptr (pointer other) noexcept |
atomic_unique_ptr & | operator= (pointer other) noexcept |
pointer | get (std::memory_order order=std::memory_order::seq_cst) const noexcept |
Get the raw pointer. | |
template<typename... Args> | |
reference | get_or_make (Args &&...args) noexcept |
Get or make an object. | |
|
inlinenoexcept |
Get the raw pointer.
|
inlinenoexcept |
Get or make an object.
This function will return a previously created object, or if the internal pointer is null a new element_type is constructed and returned.
It is possible for the element_type to be constructed multiple times during a race, but only one will be returned from this function.
args | The arguments passed to the constructor |