Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::expected<T,E>::value_or

      From cppreference.com
      <cpp‎ |utility‎ |expected
       
       
      Utilities library
       
       
      Primary template
      template<class U=std::remove_cv_t<T>>
      constexpr T value_or( U&& default_value)const&;
      (1)(since C++23)
      template<class U=std::remove_cv_t<T>>
      constexpr T value_or( U&& default_value)&&;
      (2)(since C++23)

      Returns the expected value if it exists, otherwise returnsdefault_value.

      Thevoid partial specialization does not have these member functions.

      1) Ifstd::is_copy_constructible_v<T> orstd::is_convertible_v<U, T> isfalse, the program is ill-formed.
      2) Ifstd::is_move_constructible_v<T> orstd::is_convertible_v<U, T> isfalse, the program is ill-formed.

      Contents

      [edit]Parameters

      default_value - the value to use in case*this does not contain an expected value

      [edit]Return value

      1)has_value()?**this:static_cast<T>(std::forward<U>(default_value))
      2)has_value()? std::move(**this):static_cast<T>(std::forward<U>(default_value))

      [edit]Example

      This section is incomplete
      Reason: no example

      [edit]Defect reports

      The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

      DRApplied toBehavior as publishedCorrect behavior
      LWG 3886C++23U does not have a default template argumentspecified

      [edit]See also

      returns the expected value
      (public member function)[edit]
      returns the unexpected value if present, another value otherwise
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/utility/expected/value_or&oldid=183241"

      [8]ページ先頭

      ©2009-2025 Movatter.jp