1+++ 2title = "`explicit basic_outcome(basic_outcome<A, B, C, D> &&)`" 3description = "Explicit converting move constructor from compatible `basic_outcome`. Available if `predicate::enable_compatible_conversion<A, B, C, D>` is true. Constexpr, triviality and noexcept propagating." 4categories = ["constructors", "explicit-constructors", "converting-constructors"] 5weight = 320 6+++ 7 8Explicit converting move constructor from compatible `basic_outcome`. Calls {{% api "void hook_outcome_move_construction(T *, U &&) noexcept" %}} with `this` and the input. 9 10*Requires*: `predicate::enable_compatible_conversion<A, B, C, D>` is true. 11 12*Complexity*: Same as for the move constructors of the underlying types. Constexpr, triviality and noexcept of underlying operations is propagated. 13 14*Guarantees*: If an exception is thrown during the operation, the object is left in a partially completed state, as per the normal rules for the same operation on a `struct`. 15