|
auto | stlab::copy_on_write< T >::write () -> element_type & |
| Obtains a non-const reference to the underlying value.
|
template<class Transform, class Inplace> |
auto | stlab::copy_on_write< T >::write (Transform transform, Inplace inplace) -> element_type & |
| If the object is not unique, the transform is applied to the underlying value to copy it and a reference to the new value is returned. If the object is unique, the inplace function is called with a reference to the underlying value and a reference to the value is returned.
|
auto | stlab::copy_on_write< T >::read () const noexcept -> const element_type & |
| Returns a const reference to the underlying value for read-only access.
|
| stlab::copy_on_write< T >::operator const element_type & () const noexcept |
| Implicit conversion to const reference of the underlying value.
|
auto | stlab::copy_on_write< T >::operator* () const noexcept -> const element_type & |
| Dereference operator that returns a const reference to the underlying value.
|
auto | stlab::copy_on_write< T >::operator-> () const noexcept -> const element_type * |
| Arrow operator that returns a const pointer to the underlying value.
|
auto | stlab::copy_on_write< T >::unique () const noexcept -> bool |
| Returns true if this is the only reference to the underlying object.
|
auto | stlab::copy_on_write< T >::unique_instance () const noexcept -> bool |
auto | stlab::copy_on_write< T >::identity (const copy_on_write &x) const noexcept -> bool |
| Returns true if this object and the given object share the same underlying data.
|