mrdocs::Expected::operator=

Assignment operators

Synopses

Declared in <mrdocs/Support/Expected.hpp>

Copy assignment operator

Expected&
operator=(Expected const& other) = delete;

Copy assignment operator

constexpr
Expected&
operator=(Expected const& x) noexcept(std::is_nothrow_copy_constructible_v<T> && std::is_nothrow_copy_constructible_v<E> && std::is_nothrow_copy_assignable_v<T> && std::is_nothrow_copy_assignable_v<E>)
requires std::is_copy_assignable_v<T> &&
        std::is_copy_constructible_v<T> &&
        std::is_copy_assignable_v<E> &&
        std::is_copy_constructible_v<E> &&
        (std::is_nothrow_move_constructible_v<T> ||
         std::is_nothrow_move_constructible_v<E>);

Move assignment operator

constexpr
Expected&
operator=(Expected&& x) noexcept(std::is_nothrow_move_constructible_v<T> && std::is_nothrow_move_constructible_v<E> && std::is_nothrow_move_assignable_v<T> && std::is_nothrow_move_assignable_v<E>)
requires std::is_move_assignable_v<T> &&
        std::is_move_constructible_v<T> &&
        std::is_move_assignable_v<E> &&
        std::is_move_constructible_v<E> &&
        (std::is_nothrow_move_constructible_v<T> ||
         std::is_nothrow_move_constructible_v<E>);

Assignment operator

template<class G>
requires std::is_constructible_v<E, G const&> &&
        std::is_assignable_v<E&, G const&> &&
        (std::is_nothrow_constructible_v<E, G const&> ||
         std::is_nothrow_move_constructible_v<T> ||
         std::is_nothrow_move_constructible_v<E>)
constexpr
Expected&
operator=(Unexpected<G> const& e);

Assignment operator

template<class U = T>
requires (!std::is_same_v<Expected, std::remove_cvref_t<U>>) &&
        (!detail::isUnexpected<std::remove_cvref_t<U>>) &&
        std::is_constructible_v<T, U> &&
        std::is_assignable_v<T&, U> &&
        (std::is_nothrow_constructible_v<T, U> ||
         std::is_nothrow_move_constructible_v<T> ||
         std::is_nothrow_move_constructible_v<E>)
constexpr
Expected&
operator=(U&& v);

Assignment operator

template<class G>
requires std::is_constructible_v<E, G> &&
        std::is_assignable_v<E&, G> &&
        (std::is_nothrow_constructible_v<E, G> ||
         std::is_nothrow_move_constructible_v<T> ||
         std::is_nothrow_move_constructible_v<E>)
constexpr
Expected&
operator=(Unexpected<G>&& e);

Created with MrDocs