|
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 |