Document number: N3371=12-0061
Date: 2012-02-26
Project: Programming Language C++, Library Working Group
Reply-to: Alisdair Meredith <>

Status List for Library Proposals

This is the preliminary status list tracking the progress of Library Working Group proposals following publication of the C++11 standard. Its form is likely to evolve rapidly over the next few mailings, until we find the form that best serves the Libray Working Group's needs.

The Library Working Group is not immediately embarking on any TSs, and expect the next revision of the standard to be delivered around 2017. As such, we are open to submissions for both extensions of existing library facilities, and entirely new facilities. Only once technical work is complete will we target a new Technical Specificationm, or apply straight to the current working paper.

As projects emerge, Study Groups may be formed to shepherd the proposals into some final deliverable form, such as producing a candidate TS document. This stats list aims to track the progress of proposals through those studay groups as well. Initially, there will be two LWG study groups, for filesystem and networking proposals, and a cross-functional study group for concurrency related proposals, that will naturally overlap with Core and Evolution activity.

C++17 Working Paper
These papers have been applied to the working draught of the next C++ standard, which is expected to be delivered in 2017.
N3346 N3346 Defect Report: Terminology for Container Element Requirements Pablo Halpern
Active Proposals
These papers present libraries that have been favorably reviewed at recent meetings, but are not yet ready to be adopted in some larger work unit. Further revisions of these papers are expected.
N1576 N1841 N1889 N1934 N1975 N3239 N3335 Filesystem Library Proposal Beman Dawes
N3228 N3302 Constexpr Library Additions: complex B. Kosnik, G. Dos Reis, D. Krügler
N3229 N3303 Constexpr Library Additions: chrono B. Kosnik, D. Krügler
N3230 Constexpr Library Additions: future Benjamin Kosnik
N3231 N3331 Constexpr Library Additions: utilities B. Kosnik, D. Krügler
N3304 Constexpr Library Additions: containers B. Kosnik, D. Krügler
N3333 Hashing User-Defined Types in C++1y J. Yasskin, C. Carruth
N3334 Proposing array_ref<T> and string_ref Jeffrey Yasskin
N3336 Adapting Standard Library Strings and I/O to a Unicode World Beman Dawes
N3339 A Preliminary Proposal for a Deep-Copying Smart Pointer Walter E. Brown
N3344 Toward a Standard C++ 'Date' Class S. Pacifico, A. Meredith, J. Lakos
N3350 A minimal std::range<Iter> Jeffrey Yasskin
N3352 C++ Binary Fixed-Point Arithmetic Lawrence Crowl
N3353 C++ Concurrent Queues Lawrence Crowl
N3354 C++ Stream Mutexes Lawrence Crowl
N3355 C++ Distributed Counters Lawrence Crowl
N3356 C++ Mutable Threads Chris Mysen
New Library Components Previosuly Considered for a Future TR
These papers present libraries that were actively under consideration for a future TR, when work on TR2 was deferred pending. These papers were viewed positively at the time, but were due at least one more revision before any adoption, and most will need some reworking to reflect the addition of C++11 language facilities.
N1974 N2054 N2175 Networking Library Proposal for TR2 Christopher Kohlhoff
N1843 N2067 N2137 A Proposal to add Interval Arithmetic to the C++ Standard Library H. Brönnimann, G. Melquiond, S. Pion
N1871 Range Library Proposal Thorsten Ottosen
N2068 Range Library Core Thorsten Ottosen
N1872 N2059 Proposal for new string algorithms P. Droba, T. Ottosen
N1873 The Cursor/Property Map Abstraction D. Kühl, D. Abrahams
N1878 A proposal to add an utility class to represent optional objects Fernando Cacciola
N1879 A proposal to add a general purpose ranged-checked numeric_cast<> Fernando Cacciola
N1900 N2058 Proposal to Add Date-Time to the C++ Standard Library Jeff Garland
N1939 Any Library Proposal for TR2 B. Dawes, K. Henney
N1973 Lexical Conversion Library Proposal for TR2 K. Henney, B. Dawes
N2044 Memory Mapped Files And Shared Memory For C++ Ion Gaztañaga
N2046 N2136 Bool_set: multi-valued logic H. Brönnimann, G. Melquiond, S. Pion
N2065 A proposal to add stream objects based on fixed memory buffers Alberto Ganesh Barbati
N2086 Signals and Slots for Library TR2 Douglas Gregor
N2101 Hierarchical Data Structures and Related Concepts for the C++ Standard Library B. Reiter, R. Rivera
N2104 A Proposal to Add Parallel Iteration to the Standard Library Arch D. Robison
N2050 Proposal to Add a Dynamically Sizeable Bitset to the Standard Library J. Allsop, A. Meredith, G. Prota
N2648 C++ Dynamic Arrays L. Crowl, M. Austern
N2639 Algorithms for permutations and combinations, with and without repetitions Hervé Brönnimann
Papers With an Open Status
These papers have been reviewed by the LWG, and were not deemed compelling enough to plan for a future TR, but had not been outright rejected either.
N1668 A Proposal to add Mathematical Functions for Statistics to the C++ Standard Library Paul A Bristow
N1425 Proposal for Technical Report on C++ Standard Library Security Martyn Lovell
N1461 Security and Standard C Libraries Martyn Lovell
N1744 Big Integer Library Proposal for C++0x Michiel Salters
N1476 N1530 N1641 Iterator Facade and Adaptor D. Abrahams, J. Siek, T. Witt
N2225 Improved integration with C arrays and strings Thorsten Ottosen
N2388 Pointer Arithmetic for shared_ptr Pablo Halpern
N2533 Tuples and Pairs Alisdair Meredith
N2486 Alternative Allocators and Standard Containers Lance Diduck
N2233 basic_string operator << Lawrence Crowl
N2698 N2718 N2754 Additional type traits: has_trivial_destructor_after_move and has_trivial_reallocation Rodrigo Castro Campos