Namespaces
Variants
Actions

User:Cubbi

From cppreference.com

I use C++ (with C++14 and boost) both at work and as a hobby.

I post on stackoverflow when I can.

Back around 2010 I actually started working on my own C++ reference, but then cppreference.com became publicly editable and I've redirected my efforts here.

Contents

TODO

  • ABQ-2017
  • CWG Defect Reports
  • Motion 1 P0817R0 (Core Language "ready" issues)
  • Motion 2 P0818R1 (Core Language "tentatively ready" issues)
  • CWG C++20 (pending vote results)
  • Motion 3 P0614R1 (Range-based for statements with initializer) (applied to cppreference)
  • Motion 4 P0588R1 (Simplifying implicit lambda capture)
  • Motion 5 P0846R0 (ADL and Function Templates that are not Visible)
  • Motion 6 P0641R2 (Resolving Core Issue #1331 (const mismatch with defaulted copy constructor))
  • Motion 7 P0859R0 (Core Issue 1581: When are constexpr member functions defined?)
  • Motion 8 part 1 P0515R3 (Consistent comparison)
  • Motion 8 part 2 P0768R1 (Library Support for the Spaceship (Comparison) Operator)
  • Motion 9 P0857R0 (Wording for “functionality gaps in constraints”)
  • Motion 10 P0692R1 (Access Checking on Specializations)
  • Motion 11 P0624R2 (Default constructible and assignable stateless lambdas)
  • Motion 12 P0767R1 (Deprecate POD)
  • Motion 13 P0315R4 (Wording for lambdas in unevaluated contexts)
  • LWG Parallelism TS
  • Motion 1 P0776R1 (Rebase the Parallelism TS onto the C++17 Standard)
  • Motion 2 P0075R2 (Template Library for Parallel For Loops)
  • LWG Networking TS
  • Motion 3 LWG issue 2779 in P0815R0 (C++ Standard Library Issues to be moved in Albuquerque)
  • LWG C++20
  • Motion 4 all of the issues except LWG issue 2779 in P0815R0 (C++ Standard Library Issues to be moved in Albuquerque)
  • Motion 5 LWG issue 2958 in P0864R0 (C++ Standard Library Issues Resolved Directly In Albuquerque )
  • Motion 6 P0550R2 (Transformation Trait remove_cvref) (applied to cppreference)
  • Motion 7 P0777R1 (Treating Unnecessary decay) (applied to cppreference)
  • Motion 8 P0600R1 (nodiscard in the Library) (applied to cppreference)
  • Motion 9 ("intentionally omitted")
  • Motion 10 P0439R0 (Make std::memory_order a scoped enumeration)
  • Motion 11 P0053R7 (C++ Synchronized Buffered Ostream)
  • Motion 12 P0653R2 (Utility to convert a pointer to a raw pointer) (applied to cppreference)
  • Motion 13 P0202R3 (Add constexpr modifiers to functions in <algorithm> and <utility> Headers)
  • Motion 14 P0415R1 (Constexpr for std::complex)
  • Motion 15 P0718R2 (Atomic shared_ptr)
  • Motion 16 P0020R6 (Floating Point Atomic)
  • Motion 17 P0616R0 (de-pessimize legacy <numeric> algorithms with std::move) t
  • Motion 18 P0457R2 (String Prefix and Suffix Checking)
  • Toronto-2017
  • CWG Defect Reports
  • Motion 1 P0710R1 (Core Language "ready" issues)
  • 2253
  • Motion 2 P0711R0 (Core Language "tentatively ready" issues)
  • 1523 1704 1728 1836 2273 2277 2287 2290
  • Motion 3 P0727R0
  • 1299
  • CWG C++20 motions
  • Motion 4 P0683R1 (Default member initializers for bit-fields (revision 1)) -- applied to cppreference
  • Motion 5 P0704R1 (Fixing const-qualified pointers to members) -- applied to cppreference
  • Motion 6 P0409R2 (Allow lambda capture [=, this]) -- applied to cppreference
  • Motion 7 P0306R4 (Comma omission and comma deletion)
  • Motion 8 P0329R4 (Designated Initialization Wording) -- applied to cppreference
  • Motion 9 P0428R2 (Familiar template syntax for generic lambdas) -- applied to cppreference
  • Motion 10 P0702R1 (Language support for Constructor Template Argument Deduction)
  • Motion 11 P0734R0 (Wording Paper, C++ extensions for Concepts)
  • Motion 12 Modules -> PDTS
  • LWG
  • Motion 13 (Coroutines) P0664R1 (Coroutine TS NB Comments / Issues)
  • Motion 14 Coroutines publication
  • Motion 15 (Ranges) P0663R0 (Ranges TS “Ready” Issues)
  • Motion 16 (Ranges) P0740R0 (Ranges TS “Immediate” Issues)
  • Motion 17 (Ranges) P0541R1 (Ranges TS: Post-Increment on Input and Output Iterators)
  • Motion 18 (Ranges) P0547R2 (Ranges TS: Assorted Object Concept Fixes)
  • Motion 19 (Ranges) P0579R1 (Constexpr for <experimental/ranges/iterator>)
  • Motion 20 (Ranges) P0651R1 (Switch the Ranges TS to Use Variable Concepts)
  • Motion 21 (Ranges) P0662R0 (Wording for Ranges TS Issue 345 / US-2: Update ranged-for-loop wording)
  • Motion 22 Ranges publication
  • Motion 23 (net) P0728R0 (Wording for Networking PDTS ballot comment 005)
  • Motion 24 (net) P0729R0 (Proposed wording for Networking TS NB comment GB 9)
  • Motion 25 (net) P0742R0 (Wording for Networking PDTS ballot comment resolutions)
  • Motion 26 (net) P0746R0 (Wording for Networking PDTS ballot comment 011 (US-10))
  • Motion 27 (net) P0747R1 (Wording for Networking PDTS ballot comment 026 (GB-15), but not 027 (GB-16))
  • Motion 28 (net) P0748R0 (Wording for Networking PDTS ballot comments on reentrancy)
  • Motion 29 Networking publication
  • Motion 30 (parallelism) P0076R4 (Vector and Wavefront Policies)
  • Motion 31 all of the issues in P0698R0
  • 2444 2593 2597 2783 2932 2937 2940 2942 2954 2961 2966 2974
  • Motion 32 the issues in P0699R0
  • 2901(tc) 2956(tc)
  • Motion 33 P0463R1 (Endian just Endian) -- applied to cppreference
  • Motion 34 P0682R1 (Repairing elementary string conversions) -- applied to cppreference
  • Motion 35 P0739R0 (Some improvements to class template argument deduction integration into the standard library)
  • Motion 36 P0674R1 (Extending make_shared to Support Arrays) -- applied to cppreference
  • Kona-2017
  • CWG
  • Motion 1 P0575R1 (Core Language "ready" issues)
  • 426 727 1677 1710 1860 2174 2196 2198 2205 2218 2248 2251
  • Motion 2 P0576R1 (Core Language "tentatively ready" issues)
  • 2201 2206 2214 2220 2224 2259 2262
  • Motion 3 P0622R0 (Additional CWG "ready" and "tentatively ready" Issues)
  • 426 727 1622 1710 2196 2198 2211 2247 2248 2251 2268 2272 2276
  • Motion 4 P0612R0 (NB comment CH2: volatile) -- applied
  • Motion 5 P0613R0 (NB comment GB15: Resolution of Core Issue 2011) -- applied
  • Motion 6 P0298R3 (A byte type definition) -- applied
  • Motion 7 P0615R0 (Renaming for structured bindings) -- applied
  • Motion 8 P0620R0 (class template argument deduction issues) -- applied
  • Motion 9 P0270R3 (Removing C dependencies from signal handler wording) --applied
  • Motion 10 P0250R3 (Wording improvements for initilization and thread ids (CWG 2046, 1784))
  • Motion 11a P0582R0 (Modules: Contexts of Template Instantiations and Name Lookup)
  • LWG
  • Motion 1 Coroutines PDTS - applied
  • Motion 2 P0165R4 (C++ Standard Library Issues to be moved in Kona)
  • 2260 2768 2769 2781 2782 2784 2785 2786 2787 2789 2794 2795 2804 2812 2824 2826 2834 2835 2837 2838 2842 2850 2853 2855
  • Motion 3 "Review" issues:
  • 2796 2790 2676
  • (WIP: since I dropped unreviewed noexcept from cpp/filesystem/error_handling, need to review the rest of filesystem for noexcept) Motion 4 P0317R1 (Directory Entry Caching for Filesystem)
  • Motion 5 P0492R2 (Proposed Resolution of C++17 NB Comments for Filesystems) -- applied
  • Motion 6 P0430R2 (File system library on non-POSIX-like operating systems) -- applied
  • Motion 7 P0452R1 (Unifying Parallel Algorithms). -- applied
  • (WIP: blanket wording; needs to go to many pages as a template or directly to cpp/algorithm) Motion 8 P0518R1 (Allowing copies ... in parallel algorithms in response to CH11)
  • (WIP: blanket wording; needs to go to many pages as a template) Motion 9 P0523R1 (Wording for CH 10: Complexity of parallel algorithms)
  • Motion 10 P0574R1 (Algorithm Complexity Constraints and Parallel Overloads). -- applied
  • Motion 11 P0467R2 (Iterator Concerns for Parallel Algorithms). -- applied
  • Motion 12 P0623R0 (Final C++17 Parallel Algorithms Fixes). -- applied
  • Motion 13 A and B from P0604R0 (Resolving GB 55, US 84, US 85, US 86) -- applied by tc
  • Motion 14 A and B2 from P0607 (Inline Variables for the Standard Library) -- applied by tc
  • Motion 15 P0618R0 (Deprecating <codecvt>). -- applied
  • Motion 16 revert P0181R1 "Ordered By Default" -- finished off by tc
  • Motion 17 P0156R2 (Variadic Lock guard). -- applied
  • Motion 18 P0599R1 (noexcept for hash functions). -- applied
  • Motion 19 P0433R2 (template deduction for class templates into the standard library).
  • Motion 20/20a/20b P0625R0 (C++ Standard Library Issues Resolved Directly In Kona).
  • 2788 2801 2802 2806 2807 2857 2861 2866 2868 2872 2873 2874 2875 2876 2878 2890 2900 2903 2904 2905 2908 2911 2921 2934
  • Motion 21 P0558R1 (Resolving atomic named base class inconsistencies).
  • Motion 22 P0548R1 (common_type and duration).
  • Motion 23 P0621R0 (Ready Ranges TS Issues).
  • Issaquah
  • CWG
  • Motion 1 P0519R0 (Core Language "ready" issues)
  • 1395 1825 1961 2143 2155(noop, we didn't get that low in the grammar when applying cwg1838) 2271
  • Motion 2 P0520R0 (Core Language "tentatively ready" issues) -- applied
  • 2094 2100
  • Motion 3 P0507R0 -- Core Language issue 1343
  • Motion 4 P0522R0 -- Core Language issue 150
  • Motion 5 P0003R5 ("Removing Deprecated Exception Specifications from C++17").
  • Motion 6 P0490R0 ("Core language changes addressing National Body comments for CD C++17").
  • Motion 7 P0195R2 ("Pack expansions in using-declarations"). - applied
  • Motion 8 P0512 ("Class Template Argument Deduction Assorted NB resolution and issues"). -- applied
  • Motion 9 P0298R2 ("A byte type definition"). -- failed in plenary
  • Motion 10 P0500R0 (Modules TS defect reports) -- we don't have a Modules page yet
  • Motion 11 P0266R2 ("Lifting Restrictions on requires-Expressions"). -- applied
  • Motion 12 NWI for Coroutines TS -- not for us
  • LWG
  • Motion 1 (libfun2) N4616 (NB Responses PDTS 19568 2 Collated Comments).
  • Motion 2 (libfun2) P0253R1 (Fixing a design mistake in the searchers interface in Library Fundamentals).
  • Motion 3 libfun2 for publication -- not for us
  • Motion 4 Ranges TS -- we don't have a ranges page yet
  • Motion 5 Ranges TS -- same
  • Motion 6 Networking TS -- same
  • Motion 7 Networking TS -- same
  • Motion 8 Coroutines TS -- same
  • Motion 9: There is no motion 9.
  • Motion 10 P0304R1 (C++ Standard Library Issues Resolved Directly In Issaquah) -- applied
  • 2770
  • Motion 11 P0165r3 (C++ Standard Library Issues to be moved in Issaquah) with the exception of 2768 (which has been pulled back) and 2570, 2745, 2750, and 2733 (which apply to the LFTS)
  • 2062 2166 2221 2223 2261 2394 2460 2468 2475 2503 2510 2514 2519 2531 2534 2536 2540 2543 2544 2556 2562 2567 2569 2578 2584 2589 2591 2598 2664 2672 2678 2679 2680 2681 2686 2694 2696 2699 2712 2722 2729 2732 2735 2736 2738 2739 2740 2742 2744 2747 2748 2749 2752 2753 2754 2755 2756 2758 2759 2760 2765 2767 2771 2773 2777 2778
  • Motion 12: US 81 and RU 4 P0426R1 (Constexpr for std::char_traits). -- applied
  • Motion 13: US 80 and FI 6 P0403R1 (Literal suffixes for basic_string_view). -- applied
  • Motion 14: GB 50 P0505R0 (Wording for GB 50 - constexpr for chrono). -- applied
  • Motion 15: CA 16 P0418R2 (Fail or succeed: there is no atomic lattice). This also resolves LWG issue 2445. -- applied
  • Motion 16: GB 58 P0508R0 (Wording for GB 58 - structured bindings for node_handles). -- applied
  • Motion 17: GB 68, US 155, US 154 P0503R0 (Correcting library usage of "literal type"). -- applied
  • Motion 18: FI 19 P0414R2 (Merging shared_ptr changes from Library Fundamentals to C++17) and P0497R0 (Fixes to shared_ptr support for arrays). -- applied diffs from r0 (which was done earlier)
  • Motion 19: CH 3A P0504R0 (Revisiting in-place tag types for any/optional/variant). -- applied
  • Motion 20: US 18, US 70 and GB 43 P0003R5 (Removing Deprecated Exception Specifications from C++17) - just the changes to the library clauses.
  • Motion 21: US 112, US 115, US 116, US 117, US 120, US 181, FI 22, CH 3B, CH 4, CH 5, CH 6, and CH 8 P0510R0 (Disallowing references, incomplete types, arrays, and empty variants). -- applied
  • Motion 22: GB 62 P0516R0 (Clarify That shared_future’s Copy Operations have Wide Contracts). -- applied
  • Motion 23: GB 41 and GB 42 P0509R1 (Updating “Restrictions on exception handling”). -- a home for 17.6 (library requirements) is on the todo list
  • Motion 24: US 15, US 16, US 167, US 168, US 169, US 170, CA 17 P0502R0 (Throwing out of a parallel algorithm terminates—but how?). -- applied
  • Motion 25: US 163 P0517R0 (Make future_error Constructible). -- applied
  • Motion 26: CA 14 P0521R0 (shared_ptr use_count/unique)). -- applied
  • Motion 27: FI 15, GB 69 P0513R0 (Poisoning the Hash). Also resolves LWG 2791 and LWG 2543. --applied
  • Motion 28: FI 5 P0067R5 (Elementary string conversions, revision 5) -- applied
  • Motion 29 P0435R1 (Resolving LWG Issues re common_type). Resolves LWG issues 2465 and 2763.
  • new symbols for search/index/etc: std::to_chars, std::from_chars, std::chars_format, std::from_chars_result, std::to_chars_result, std::in_place_type, std::in_place_index
  • removed symbols: std::in_place_tag
  • Oulu
  • LWG
  • Motion 1 issues in "Ready" status from p0165r2: 2393 2542 2436 2550 2310 2181 2328 2667 2669 2671 2673 2670 2426 2309
  • Motion 2 issues in "Tentatively Ready" status from p0165r2: 2710 2685 2698 2596 2684 2689 2707 2674 2706 2683
  • Motion 3 issues in "Ready" status from p0165r2 [libfun2]: 2555 2451 2573 2551 2516
  • Motion 4 issues in "Tentatively Ready" status from p0165r2 to the Library Fundamentals 2 Working Paper: 2509
  • Motion 5 Priority 1 issues in "Immediate" status from p0397r0: 2704 2711 2725
  • Motion 6 issues in "Immediate" status from p0304r1: 2422 2709 2716 2718 2719 2720 2721 2723 2726 2728
  • Motion 34 p0180r2, Reserve a New Library Namespace for Future Standardization
  • Jacksonville
  • CWG
  • Motion 2 P0263R1 (2069, 2071, 2079, 2085, 2095, 2096, 2098, 2104, 2106, 2107, 2109, 2113, 2122, 2129, 2140, 2141, 2146, 2147, 2153, 2154, 2156)
  • LWG
  • Motion 1: issues 2276 2523 2537
  • Motion 2: issues 2192 2450 2520 2545 2557 2560 2565 2566 2571 2572 2576 2577 2579 2581 2582 2583 2585 2586 2590
  • Motion 3: issues 2522 2539 2558 2574 2575

Other TODO

  • shrink examples in cpp/chrono/high_resolution_clock‎ and cpp/types/numeric_limits/max_digits10
  • update cpp/atomic/memory_order to talk more about where rel/ack establishes happens-before (and avoids data races), and not just where it ensures side effect visibility (see std-discussion thread)
  • each Source and EcharT still needs an enable_if line
  • the type traits in cpp/types (and elsewhere) could use _v and _t versions included in the titles of their dsc templates
  • finish up cpp/language (qual lookup, various other todos)
  • finish up the remaining redlinks in cpp/concepts
  • do something about cpp/links/libs (maybe list license and last update)
  • explain rebind for allocator concept/allocator_traits/std::allocator/scoped allocator adaptor
  • better examples for valarray masks and slices
  • cpp/types/climits (especially the cfloat macros) and c/types/limits‎ need TLC. At the very least, the macros there need their own pages with rationales/usage. Some use cases for DIGITS: [1] and [2]
  • Merge behavior-changing DRs into main article texts and list them in a new section (see Talk:cpp/language/value_initialization) (CWG, not LWG).
  • Should define "function signature" somewhere
  • mention the ambig between member enum decl and unnamed bit fields of enum type.. maybe
  • find home for 17.6.5.5 [member.functions], 17.6.4.10[res.on.objects] etc. Perhaps a new page about the C++ standard library guarantees and leeways?

Follow up

Sandbox

User:Cubbi/Sandbox

Big-picture items for cpp/language Miscellaneous