Boost C++ Libraries: Ticket #4414: wait_for_all waits on futures on implicit specific order. https://svn.boost.org/trac10/ticket/4414 <p> Either, the order in which futures must happen must be specified explicitly in the documentation, or, may be, a wait_for_all can be implemented via wait_for_any. For example, a range based wait_for_all: </p> <pre class="wiki"> template &lt;typename FutureIterator&gt; void wait_for_all(FutureIterator first, FutureIterator last) { for (;first != last; ++first) std::iter_swap(first, boost::wait_for_any(first, last)); } </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/4414 Trac 1.4.3 Steven Watanabe Fri, 09 Jul 2010 15:42:47 GMT <link>https://svn.boost.org/trac10/ticket/4414#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4414#comment:1</guid> <description> <p> Why do you care what order it waits in? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Steven Watanabe</dc:creator> <pubDate>Fri, 09 Jul 2010 15:45:39 GMT</pubDate> <title>component changed; owner set https://svn.boost.org/trac10/ticket/4414#comment:2 https://svn.boost.org/trac10/ticket/4414#comment:2 <ul> <li><strong>owner</strong> set to <span class="trac-author">Anthony Williams</span> </li> <li><strong>component</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">thread</span> </li> </ul> Ticket Anthony Williams Fri, 09 Jul 2010 16:00:03 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/4414#comment:3 https://svn.boost.org/trac10/ticket/4414#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">wontfix</span> </li> </ul> <p> The function is documented to not return until all futures are ready. This is true. </p> <p> The documentation doesn't specify what order the futures are waited for, so if your code relies on a specific order then your code is broken. </p> Ticket