| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" |
| "http://www.w3.org/TR/html4/strict.dtd"> |
| <!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ --> |
| <html> |
| <head> |
| <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> |
| <title>libc++ Upcoming Meeting Status</title> |
| <link type="text/css" rel="stylesheet" href="menu.css"> |
| <link type="text/css" rel="stylesheet" href="content.css"> |
| </head> |
| |
| <body> |
| <div id="menu"> |
| <div> |
| <a href="http://llvm.org/">LLVM Home</a> |
| </div> |
| |
| <div class="submenu"> |
| <label>libc++ Info</label> |
| <a href="/index.html">About</a> |
| </div> |
| |
| <div class="submenu"> |
| <label>Quick Links</label> |
| <a href="http://lists.llvm.org/mailman/listinfo/cfe-dev">cfe-dev</a> |
| <a href="http://lists.llvm.org/mailman/listinfo/cfe-commits">cfe-commits</a> |
| <a href="http://llvm.org/bugs/">Bug Reports</a> |
| <a href="http://llvm.org/svn/llvm-project/libcxx/trunk/">Browse SVN</a> |
| <a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/">Browse ViewVC</a> |
| </div> |
| </div> |
| |
| <div id="content"> |
| <!--*********************************************************************--> |
| <h1>libc++ Oulu Status</h1> |
| <!--*********************************************************************--> |
| |
| <p>This is a temporary page; please check the c++1z status <a href="http://libcxx.llvm.org/cxx1z_status.html">here</a></p> |
| <p>This page shows the status of the papers and issues that are expected to be adopted in Oulu.</p> |
| |
| <p>The groups that have contributed papers: |
| <ul> |
| <li>LWG - Library working group</li> |
| <li>CWG - Core Language Working group</li> |
| <li>SG1 - Study group #1 (Concurrency working group)</li> |
| </ul> |
| </p> |
| |
| <h3>Paper Status</h3> |
| <table id="papers" border="1"> |
| <tr><th>Paper #</th><th>Group</th><th>Paper Name</th><th>Meeting</th><th>Status</th><th>First released version</th></tr> |
| <!-- |
| <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3346.pdf">3346</a></td><td>LWG</td><td>Terminology for Container Element Requirements - Rev 1</td><td>Kona</td><td>Complete</td><td>3.4</td></tr> |
| --> |
| <!-- <tr><td></td><td></td><td></td><td></td><td></td><td></td></tr> --> |
| </table> |
| |
| <h3>Library Working group Issues Status</h3> |
| <table id="issues" border="1"> |
| <tr><th>Issue #</th><th>Issue Name</th><th>Meeting</th><th>Status</th></tr> |
| |
| <tr><td><a href="http://wg21.link/LWG2181">2181</a></td><td>Exceptions from seed sequence operations</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2309">2309</a></td><td>mutex::lock() should not throw device_or_resource_busy</td><td>Oulu</td><td>Complete</td></tr> |
| <tr><td><a href="http://wg21.link/LWG2310">2310</a></td><td>Public exposition only member in std::array</td><td>Oulu</td><td>Patch Ready</td></tr> |
| <tr><td><a href="http://wg21.link/LWG2328">2328</a></td><td>Rvalue stream extraction should use perfect forwarding</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2393">2393</a></td><td>std::function's Callable definition is broken</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2426">2426</a></td><td>Issue about compare_exchange</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2436">2436</a></td><td>Comparators for associative containers should always be CopyConstructible</td><td>Oulu</td><td>Patch Ready</td></tr> |
| <tr><td><a href="http://wg21.link/LWG2441">2441</a></td><td>Exact-width atomic typedefs should be provided</td><td>Oulu</td><td>Patch Ready</td></tr> |
| <tr><td><a href="http://wg21.link/LWG2451">2451</a></td><td>[fund.ts.v2] optional<T> should 'forward' T's implicit conversions</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2509">2509</a></td><td>[fund.ts.v2] any_cast doesn't work with rvalue reference targets and cannot move with a value target</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2516">2516</a></td><td>[fund.ts.v2] Public "exposition only" members in observer_ptr</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2542">2542</a></td><td>Missing const requirements for associative containers</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2549">2549</a></td><td>Tuple EXPLICIT constructor templates that take tuple parameters end up taking references to temporaries and will create dangling references</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2550">2550</a></td><td>Wording of unordered container's clear() method complexity</td><td>Oulu</td><td>Complete</td></tr> |
| <tr><td><a href="http://wg21.link/LWG2551">2551</a></td><td>[fund.ts.v2] "Exception safety" cleanup in library fundamentals required</td><td>Oulu</td><td>Complete</td></tr> |
| <tr><td><a href="http://wg21.link/LWG2555">2555</a></td><td>[fund.ts.v2] No handling for over-aligned types in optional</td><td>Oulu</td><td>Complete</td></tr> |
| <tr><td><a href="http://wg21.link/LWG2573">2573</a></td><td>[fund.ts.v2] std::hash<std::experimental::shared_ptr<T>> does not work for arrays</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2596">2596</a></td><td>vector::data() should use addressof</td><td>Oulu</td><td>Patch Ready</td></tr> |
| <tr><td><a href="http://wg21.link/LWG2667">2667</a></td><td>path::root_directory() description is confusing</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2669">2669</a></td><td>recursive_directory_iterator effects refers to non-existent functions</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2670">2670</a></td><td>system_complete refers to undefined variable 'base'</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2671">2671</a></td><td>Errors in Copy</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2673">2673</a></td><td>status() effects cannot be implemented as specified</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2674">2674</a></td><td>Bidirectional iterator requirement on path::iterator is very expensive</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2683">2683</a></td><td>filesystem::copy() says "no effects"</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2684">2684</a></td><td>priority_queue lacking comparator typedef</td><td>Oulu</td><td>Patch Ready</td></tr> |
| <tr><td><a href="http://wg21.link/LWG2685">2685</a></td><td>shared_ptr deleters must not not throw on move construction</td><td>Oulu</td><td>Complete</td></tr> |
| <tr><td><a href="http://wg21.link/LWG2688">2688</a></td><td>clamp misses preconditions and has extraneous condition on result</td><td>Oulu</td><td>Patch Ready</td></tr> |
| <tr><td><a href="http://wg21.link/LWG2689">2689</a></td><td>Parallel versions of std::copy and std::move shouldn't be in order</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2698">2698</a></td><td>Effect of assign() on iterators/pointers/references</td><td>Oulu</td><td>Complete</td></tr> |
| <tr><td><a href="http://wg21.link/LWG2706">2706</a></td><td>Error reporting for recursive_directory_iterator::pop() is under-specified</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2707">2707</a></td><td>path construction and assignment should have "string_type&&" overloads</td><td>Oulu</td><td></td></tr> |
| <tr><td><a href="http://wg21.link/LWG2710">2710</a></td><td>"Effects: Equivalent to ..." doesn't count "Synchronization:" as determined semantics</td><td>Oulu</td><td>Complete</td></tr> |
| </table> |
| |
| <h3>Comments about the issues</h3> |
| <ul> |
| <li>2181 - </li> |
| <li>2309 - I don't think there's anything to do here.</li> |
| <li>2310 - I think we need a test that checks array::data() == addressof(front()). Other than that, we're good.</li> |
| <li>2328 - <istream>:1467 - fix is straightforward. Need to think about tests.</li> |
| <li>2393 - </li> |
| <li>2426 - I believe this is just a wording clarification, but need to study it some more.</li> |
| <li>2436 - Adds Requirements on compare/hasher. We can static_assert this, and test it.</li> |
| <li>2441 - Looks straightforward.</li> |
| <li>2451 - <i>Significant work.</i></li> |
| <li>2509 - <i>Significant work.</i></li> |
| <li>2516 - We don't have an observer_ptr implementation yet.</li> |
| <li>2542 - This is probably mostly writing additional tests.</li> |
| <li>2549 - Tuple EXPLICIT - Eric?</li> |
| <li>2550 - Wording clarification; no code change needed.</li> |
| <li>2551 - Wording cleanup; no code change needed.</li> |
| <li>2555 - Wording clarification; no code change needed.</li> |
| <li>2573 - </li> |
| <li>2596 - Turns out we do this already. Needs tests, though.</li> |
| <li>2667 - Wording clarification; no code change needed.</li> |
| <li>2669 - Wording clarification; no code change needed.</li> |
| <li>2670 - Wording clarification; no code change needed.</li> |
| <li>2671 - Wording clarification; no code change needed.</li> |
| <li>2673 - Wording clarification; no code change needed.</li> |
| <li>2674 - We already depend on the requirements being relaxed.</li> |
| <li>2683 - We already do this.</li> |
| <li>2684 - We already have one; just need to add a test for it.</li> |
| <li>2685 - Wording clarification; no code change needed. We don't handle throwing move ctors here anyway.</li> |
| <li>2688 - I believe that we already do this. Add more tests</li> |
| <li>2689 - We don't have a parallel implementation yet (though I'm working on it).</li> |
| <li>2698 - Wording clarification; no code change needed.</li> |
| <li>2706 - We already implement the new pop(error_code&) overloads</li> |
| <li>2707 - We already implement the new overloads.</li> |
| <li>2710 - Wording cleanup; no code change needed.</li> |
| </ul> |
| |
| <p>Last Updated: 7-Jun-2016</p> |
| </div> |
| </body> |
| </html> |