stlab-copy-on-write 1.0.6
Copy-on-write wrapper for any type
Loading...
Searching...
No Matches
Member Functions

Topics

 Observers

Functions

 stlab::copy_on_write< T >::copy_on_write () noexcept(std::is_nothrow_constructible_v< T >)
 Default constructs the wrapped value.
template<class U>
 stlab::copy_on_write< T >::copy_on_write (U &&x, disable_copy< U >=nullptr)
 Constructs a new instance by forwarding arguments to the wrapped value constructor.
template<class U, class V, class... Args>
 stlab::copy_on_write< T >::copy_on_write (U &&x, V &&y, Args &&... args)
 Constructs a new instance by forwarding multiple arguments to the wrapped value constructor.
 stlab::copy_on_write< T >::copy_on_write (const copy_on_write &x) noexcept
 Copy constructor that shares the underlying data with the source object.
 stlab::copy_on_write< T >::copy_on_write (copy_on_write &&x) noexcept
 Move constructor that takes ownership of the source object's data.
 stlab::copy_on_write< T >::~copy_on_write ()
 Destructor.
auto stlab::copy_on_write< T >::operator= (const copy_on_write &x) noexcept -> copy_on_write &
 Copy assignment operator that shares the underlying data with the source object.
auto stlab::copy_on_write< T >::operator= (copy_on_write &&x) noexcept -> copy_on_write &
 Move assignment operator that takes ownership of the source object's data.
template<class U>
auto stlab::copy_on_write< T >::operator= (U &&x) -> disable_copy_assign< U >
 Assigns a new value to the wrapped object, optimizing for in-place assignment when unique.

Detailed Description