Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::experimental::when_all

      From cppreference.com
      <cpp‎ |experimental
       
       
       
       
      Defined in header<experimental/future>
      template<class InputIt>

      auto when_all( InputIt first, InputIt last)

         -> future<std::vector<typenamestd::iterator_traits<InputIt>::value_type>>;
      (1)(concurrency TS)
      template<class...Futures>

      auto when_all( Futures&&...futures)

         -> future<std::tuple<std::decay_t<Futures>...>>;
      (2)(concurrency TS)

      Create afuture object that becomes ready when all of the inputfutures andshared_futures become ready. The behavior is undefined if any inputfuture orshared_future is invalid.

      In particular, letSequence be astd::vector<typenamestd::iterator_traits<InputIt>::value_type> for(1) andstd::tuple<std::decay_t<Futures>...> for(2). This function template creates a shared state containingSequence and returns a future referring to the shared state. Every inputfuture is moved into the corresponding object in theSequence in the shared state, and every inputshared_future is copied to the corresponding object in theSequence in the shared state. The order of the objects in theSequence matches the order of arguments.

      1) This function does not participate in overload resolution unlessInputIt's value type (i.e.,typenamestd::iterator_traits<InputIt>::value_type) is astd::experimental::future orstd::experimental::shared_future.
      2) This function does not participate in overload resolution unless every argument is either a (possibly cv-qualified)std::experimental::shared_future or a cv-unqualifiedstd::experimental::future. (Formally, for every typeFn inFutures, eitherstd::remove_reference_t<Fn> isstd::experimental::future<Rn>, orstd::decay_t<Fn> isstd::experimental::shared_future<Rn>.)

      After this call, every inputfuture is no longer valid; every inputshared_future remains valid.

      [edit]Return value

      Afuture referring to the shared state created by the call. The future is alwaysvalid(), and it becomes ready when all of the inputfutures andshared_futures the call are ready.

      1) If the range is empty (i.e.,first== last), the returnedfuture contains an empty vector and is ready immediately.
      2) If there are no arguments supplied, afuture<std::tuple<>> is returned and is immediately ready.
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/when_all&oldid=156384"

      [8]ページ先頭

      ©2009-2025 Movatter.jp