ZXFoundation™ 26h2
Loading...
Searching...
No Matches
lib.rwonce Module Reference

Concepts

concept  lib::rwonce::detail::has_native_uint
concept  lib::rwonce::Word

Data Structures

class  lib::rwonce::cell< T >
struct  lib::rwonce::detail::native_uint< usize >
struct  lib::rwonce::detail::native_uint< 1 >
struct  lib::rwonce::detail::native_uint< 2 >
struct  lib::rwonce::detail::native_uint< 4 >
struct  lib::rwonce::detail::native_uint< 8 >
class  lib::rwonce::ref< T >

Typedefs

template<typename T>
using lib::rwonce::detail::native_uint_t = native_uint<sizeof(T)>::type
using type = u8
using type = u16
using type = u32
using type = u64

Functions

 cell (const cell &)=delete
constexpr cell (T init) noexcept
constexpr T load () const noexcept
constexpr T load () const noexcept
constexpr operator T () const noexcept
constexpr operator T () const noexcept
cell & operator= (const cell &)=delete
constexpr cell & operator= (T val) noexcept
ref & operator= (const ref &)=delete
constexpr const ref & operator= (T val) const noexcept
template<typename T>
constexpr T lib::rwonce::read_once (const T &x) noexcept
template<typename T>
 lib::rwonce::ref (T &) -> ref< T >
constexpr ref (const ref &) noexcept=default
constexpr ref (T &obj) noexcept
template<typename T>
requires (!Word<T>)
constexpr void lib::rwonce::detail::reject_unsupported_type ()
constexpr void store (T val) noexcept
constexpr void store (T val) const noexcept
constexpr const T & unsafe_ref () const noexcept
constexpr T & unsafe_ref () noexcept
template<typename T>
constexpr void lib::rwonce::write_once (T &x, std::type_identity_t< T > val) noexcept

Files

file  lib/rwonce.cxxm
 Read-Write Once implementation.