Boost logo

Boost :

Subject: [boost] What C++14/1z standard or TS libraries would you like to have available on a C++11 compiler?
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2016-05-22 11:40:38


Hi,

I would like to have your feedback on C++ standard library features you
would like to have available for a C++11 compiler.

The idea would be to present a Boost.StdExtensions library that would
provide some of these features for review with some of these features.

Please , let me know if you are interested in participating in this
project and working on some specific parts.

This library should avoid as much Boost dependencies as possible.

How the library could be structured? I believe that it should follow the
C++ standard files.
Which folder should be used? boost/stdext? boost/stdext11?
Which namespace? boost::stdext?

I have prefixed with a * the lines that interest myself and with VBE*
those that I could work on.

The features that need compiler help or that need C++14/17 language
features are excluded and prefixed by N/A.

Please be free to add a * if you are interested and your name as well if
you want to participate.

Best,
Vicente

P.S. The project could be as well extended to C++98 compilers with C++11
standard libraries (But I would not have time to invest in).

P.S.S. I would also be interested in extend the project to extended to
C++14 compilers.

C++14 standard libraries
================

VBE* N3658 - Compile-time integer sequences
* N3654 - Quoted Strings
N3656 - make_unique
VBE* N3462 - std::result_of and SFINAE
* N3668 std::exchange()
N3469 Constexpr Library Additions: chrono
N3470 Constexpr Library Additions: containers
N3471 Constexpr Library Additions: utilities
N3302 Constexpr Library Additions: complex
VBE* N3545 An Incremental Improvement to integral_constant
N3644 Null Forward Iterators
N3670 Addressing Tuples by Type
N3671 Making non-modifying sequence operations more robust
N3642 User-defined Literals
VBE* N3655 TransformationTraits Redux (excluding part 4)
N3657 Adding heterogeneous comparison lookup to associative containers
N3669 Fixing constexpr member functions without const
N3659 Shared Locking in C++
N3779 User-defined Literals for std::complex
N3789 Constexpr Library Additions: functional
N3887 Consistent Metafunction Aliases
N3891 A proposal to rename shared_mutex to shared_timed_mutex

C++1z standard libraries
================

VBE* N3911 TransformationTrait Alias void_t
N4089 Safe conversions in unique_ptr<T[]>
VBE* N4169 A proposal to add invoke function template
N4258 Cleaning-up noexcept in the Library.

N4277 TriviallyCopyable reference_wrapper.
N4279 Improved insertion interface for unique-key maps.
VBE* N4280 Non-member size() and more
N4284 Contiguous Iterators.

N4387 improving pair and tuple
VBE* N4389 bool_constant
N4508 shared_mutex for C++17
N4366 LWG 2228 missing SFINAE rule
N4510 Minimal incomplete type support for standard containers
N/A* P0006R0 Adopt Type Traits Variable Templates for C++17.
VBE* P0092R1 Polishing <chrono>
VBE* P0007R1 Constant View: A proposal for a std::as_const helper
function template.
VBE* P0156R0 Variadic lock_guard(rev 3).
P0074R0 Making std::owner_less more flexible
VBE* P0013R1 Logical type traits rev 2
P0024R2 The Parallelism TS Should be Standardized
P0226R1 Mathematical Special Functions for C++17
VBE* P0220R1 Adopt Library Fundamentals V1 TS Components for C++17
P0218R1 Adopt the File System TS for C++17
P0033R1 Re-enabling shared_from_this
VBE* P0005R4 Adopt not_fn from Library Fundamentals 2 for C++17
P0152R1 constexpr atomic::is_always_lock_free
N/A* P0185R1 Adding [nothrow-]swappable traits
P0253R1 Fixing a design mistake in the searchers interface
P0025R0 An algorithm to "clamp" a value between a pair of
boundary values
P0154R1 constexpr
std::hardware_{constructive,destructive}_interference_size
P0030R1 Proposal to Introduce a 3-Argument Overload to std::hypot
P0031R0 A Proposal to Add Constexpr Modifiers to
reverse_iterator, move_iterator, array and Range Access
P0272R1 Give std::string a non-const .data() member function
VBE* P0077R2 is_callable, the missing INVOKE related trait

Fundamental V1 TS
============

Uses-allocator construction
Changes to std::shared_ptr and weak_ptr
Additions to std::function
Additions to std::promise
Additions to std::packaged_task
Class erased_type
VBE* Calling a function with a tuple of arguments
N/A Type traits (_v)
Other type transformations
Compile-time Rational Arithmetic
Time Utilities
System Error Support
Class memory_resource
Class template polymorphic_allocator
Template alias resource_adaptor
Global memory resources
Pool resource classes
Class monotonic_buffer_resource
Alias templates using polymorphic memory resource
Searchers
* Optional Objects Initial implementation
* class any
* string_view
memory
Algorithms library


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk