
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