July 16, 2022

Augeas

C++ is not done yet.

  • Reflection on language constructs.
  • Programmatically inject code.
  • Scoped and typesafe expressions expansion (hygienic macros).
  • Starting and controlling child processes.
  • A framework for asynchrony and heterogeneous programming (S/R).
  • A standard executor to make asynchrony available out of the box.
  • Fixed-sized non-allocating coroutines and deferred layouts.
  • More ergonomic coroutines APIs.
  • Guaranteed tail calls.
  • Mapping of system memory and files.
  • More user-friendly Pseudo Random Number Generators.
  • Library support for SIMD.
  • SIMD algorithms.
  • Parallel algorithms for ranges.
  • Asynchronous Networking facilities.
  • Parallel execution and executors integration.
  • Small buffer optimization for std::vector.
  • Open addressing hash map and set.
  • Unicode algorithms.
  • Unicode properties.
  • Tailored Unicode algorithms.
  • Unicode/BCP 47 locales.
  • Collation.
  • cldr-compliant localized date formatting.
  • cldr-compliant localized number formatting.
  • User-friendly encoding conversions.
  • A generic facility to get the extent of an array.
  • constexpr formatting.
  • Expressions in static_assert messages.
  • Compile time assertions.
  • Contracts (assertions).
  • Non-throwing default allocator.
  • Terser lambda syntax.
  • Language construct for std::forward.
  • Pack indexing.
  • Pack as members.
  • Non-trailing packs deduction.
  • Universal template parameters.
  • First-class support for Customization Points Objects, Niebloids and Overload Sets.
  • Trees and ropes types.
  • Improving the inserter interface for maps and sets.
  • Concepts and variable templates as template parameters.
  • A better from_chars interface.
  • Template argument deduction for return types.
  • views::enumerate.
  • Threads should have a name.
  • Replace initializer_list with language tuples.
  • A strong int8_t type.
  • Getting rid of std::locale.
  • Getting rid of char_traits.
  • Embedding resources in source files.
  • Container rellocation.
  • optional<T&>.
  • Uninitialized vector.
  • constexpr warnings.
  • More implicit noexcept.
  • Structured bindings in constexpr contexts.
  • More formatting support for library types.
  • u8/u16/u32 support in std::format.
  • char*char8_t* casting.
  • Better hashing facilities.
  • Correctly rounded floating points functions.
  • Regular void
  • Fixing ADL.
  • Two phases parsing.
  • Breaking ABI.
  • A pipeline operator for improved ranges and sender/receiver code usability.
  • Views and iterators facades.
  • null-terminated string views.
  • Phasing out null-terminated string interfaces.
  • Max buffer size for to_chars.
  • Elastic integers.
  • Safe overflow/saturating functions.
  • Fixing std::vector<bool>
  • A replacement for std::bitset.
  • ranges::to support for fixed-size arrays.
  • Improving the freestanding and embedded platforms story.
  • Make more friends hidden to improve compile times and diagnostics.
  • Improve the helpfulness of compilation errors.
  • Nested structured bindings.
  • Pattern matching.
  • Unused variable placeholder.
  • Efficient, compile-time checked, Unicode compliant regexes.
  • More ergonomic allocators.
  • Better error management facilities.
  • Language or library support for enum bit flags.
  • An easier way to construct explicit types in range pipelines.
  • Fast binary I/O separate from text facilities.
  • Improve the usability of pointer to members.
  • A set of replacement functions for volatile.
  • Generalized = delete.
  • Generalized using.
  • ABI resilience features.

Share on