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