proxy

conversion_dispatch::operator()

template <class U>
T operator()(U&& value)
    noexcept(std::conditional_t<Expl, std::is_nothrow_constructible<T, U>,
        std::is_nothrow_convertible<U, T>>::value)
    requires(std::conditional_t<Expl, std::is_constructible<T, U>,
        std::is_convertible<U, T>>::value);

Converts value to type T. When Expl is true, std::is_constructible<T, U> is required to be true, or otherwise when Expl is false, std::is_convertible<U, T> is required to be true.

Returns static_cast<T>(std::forward<U>(value)).