D 2018-11-13T02:40:58.959
L Implementation\sStatus
P 7b8a3d01307cba13c3b9bdb5301e41dd9d16c784e87c832853899f2c43d6849b
U luismachuca
W 6682
This page lists the features in the C++ Standard that are backported or emulated by the cxxomfort library, as well as the submitted Proposals (nxxxx
, pxxxry
) that "didn't make it" but are still brought to the library as supplementals.
Last Updated Nov 2018.
* Each feature is identified by its common description (eg.: "get
for tuples") or by the proposal document that was used to source the implementation in the form of "nxxxx" (if possible with a link to the document in question).
* The implementation status of some features are indicated in parenthesis - "Backport" or "Emulation".
* Some of the elements are also linked to external implementation or documentation pages such as the ones in the cppreference wiki.
In the cxxomfort code, the files implementing such features are identified by a list of all the features as well as the implementation status can be found by using the following command to find all macros of the form CXXOMFORT_IMPLEMENTS_
:
static_assert
(Emulation) (See [Features]).
* [https://wg21.link/n1978], [https://wg21.link/n2343] : decltype
.
* [https://wg21.link/n1990] : Proposed wording for minmax (Backport).
* [https://wg21.link/n2069] : std::decay
(Emulation).
* [https://wg21.link/n2240] : enable_if
and conditional
(Backport)
* [https://wg21.link/n2243], [https://wg21.link/n2930] "Range-Based for
Loop wording" (Emulation) (See [Features/Foreach]).
* [https://wg21.link/n2333], [https://wg21.link/n2437] : explicit conversion operators (Emulation) (See[Features/explicit_cast|explicit_cast]
).
* [https://wg21.link/n2543] : Singly-linked list forward_list
(Backport).
* [https://wg21.link/n2569] : from
: any, all, none algorithms; lexicographical compare 3-way.
* [https://wg21.link/n2984] (issue 1055) : underlying_type
(Emulation).
* Nonmember iterator helpers begin
and end
(Backport).
* unique_ptr
(Backport) (Adapted from Howard Hinnart's implementation).
* Allocator traits (Emulation).
* New auto
semantics (Emulation).
* Local classes as arguments to templated function calls. (Emulation) (See [Features/Extras#cxxo-localfn|Extras]).
* Brace-list initialization syntax for containers. (Emulation) (See [Features/SequencesInitialization]).
* ...among others.
(Backport) ([http://en.cppreference.com/w/cpp/utility/functional/plus_void|cppreference] example documentation for std::plus
).
* [https://wg21.link/n3584], n3670 : get(tuple<...>)
to get tuple elements by type (Backport) ([http://en.cppreference.com/w/cpp/utility/tuple/get|cppreference] for std::get - see cases #5-#8) ([Features/tuple_getmake_unique
for unique_ptr
.
* [https://wg21.link/n3658] : Compile-time integer sequences: integer_sequence
(Backport) (for C++11 only).
* [https://wg21.link/n3668] : exchange
(Backport).
* [https://wg21.link/n3671] - improved algorithm overloads for equal, mismatch.
apply
- call a function with arguments from a tuple (Emulation).
* [https://wg21.link/n3911] - Transformation trait make_void
, void_t
. (Emulation) ([http://en.cppreference.com/w/cpp/types/void_t|cppreference])
* [https://wg21.link/n4017], n4155 : Nonmember size
.
* [https://wg21.link/n4334] : Wording for bool_constant
(Backport).
* [https://wg21.link/n4380] : as_const
(Backport).
* [https://wg21.link/p0040r1], p0040r2 : Extensions to memory management: destroy_at
and allies (Backport).
* [https://wg21.link/p0298r2], [https://wg21.link/p0298r3] : std::byte
, independent type representation for C++'s byte (Backport) (See [Features/std::byte])
* make_from_tuple
(Backport).
std::endian
(Backport).
[Features/Extras/dynarray|dynarray]
.
* [https://wg21.link/n3334] : [Features/Extras#cxxo-array_ref|array_ref]
* [https://wg21.link/n3500] : New assert
variants.
* n3824, n4031: make_array
.
* [https://wg21.link/n3840] : The world's dumbest smart pointer: observer_ptr
(in std::experimental as of 2018) (Backport)
* n4391 : make_array
(Emulation).
* [https://wg21.link/p0117r0 ]: Variadic to_string
(See [IndependentFeatures], cbegin
, cend
complements to begin/end
.
optional
. See [Extras|cxxo::optional].
* ???? : Variant object type: variant<...>
. See [Extras|cxxo::variant].
* ????: User-defined literals. See [Extras|cxxo::literal_affixes] ([https://notabug.org/lmachucabezzaza/cxxo-literal_affixes]).
* n3335 : range
proposal. See [Extras|cxxo::minrange].