Difference between revisions of "cpp/experimental/lib extensions"
From cppreference.com
< cpp | experimental
(wip) |
m (fix link) |
||
Line 9: | Line 9: | ||
===class [[cpp/experimental/any|any]]=== | ===class [[cpp/experimental/any|any]]=== | ||
− | ===class template [[cpp/experimental/ | + | ===class template [[cpp/experimental/basic_string_view|basic_string_view]]=== |
===Type-erased and [[cpp/experimental/memory|polymorphic allocators]]=== | ===Type-erased and [[cpp/experimental/memory|polymorphic allocators]]=== | ||
Line 33: | Line 33: | ||
The C++ Extensions for Library Fundamentals technical specification includes the following significant features: | The C++ Extensions for Library Fundamentals technical specification includes the following significant features: | ||
− | {{todo|just go by the DTS draft, no need to discuss individual old papers}} | + | {{todo|just go by the DTS draft, no need to discuss individual old papers. Headers are a good idea, though.}} |
{|table class=wikitable | {|table class=wikitable |
Revision as of 13:08, 28 November 2014
The C++ Extensions for Library Fundamentals, ISO/IEC TS 19568:xxxx, defines the following new components for the C++ standard library:
Contents |
optional objects
Class template std::experimental::optional for representing optional objects.
class any
class template basic_string_view
Type-erased and polymorphic allocators
Sampling and searching algorithms
This section is incomplete Reason: dsc list with sample, search, and the searchers |
General utilities
Defined in header
<experimental/utility> | |
placeholder type for type erasure, such as in allocators (class) | |
Defined in header
<experimental/tuple> | |
exposes std::tuple_size as a variable template (variable template) | |
calls a function to a tuple of arguments (function template) | |
Metaprogramming and type traits | |
Defined in header
<experimental/type_traits> | |
exposes std::is_void as a variable template (variable template) | |
exposes stdis_null_pointer as a variable template (variable template) |
This section is incomplete Reason: perhaps these should just go inside std::is_void, std::is_null_pointer, etc? |
The C++ Extensions for Library Fundamentals technical specification includes the following significant features:
This section is incomplete Reason: just go by the DTS draft, no need to discuss individual old papers. Headers are a good idea, though. |
Doc. No. | Title | Macro Name Suffix | Header |
---|---|---|---|
N3920 | Extending std::shared_ptr to support arrays | shared_ptr_arrays
|
<experimental/memory> |
N3916 | Type-erased allocator for std::function | function_erased_allocator
|
<experimental/functional> |
N3843 | A SFINAE-Friendly std::common_type | common_type_sfinae
|
<experimental/type_traits> |
N3923 | A SFINAE-Friendly std::iterator_traits | iterator_traits_sfinae
|
<experimental/iterator> |
N3916 | Type-erased allocator for std::promise | promise_erased_allocator
|
<experimental/future> |
N3916 | Type-erased allocator for std::packaged_task | packaged_task_erased_allocator
|
<experimental/future> |
N3915 | apply() call a function with arguments from a tuple
|
apply
|
<experimental/tuple> |
N3932 | Variable Templates For Type Traits | type_trait_variable_templates
|
<experimental/type_traits> |
N3866 | Invocation type traits | invocation_type
|
<experimental/type_traits> |
N3905 | Extending std::search to use Additional Searching Algorithms | boyer_moore_searching
|
<experimental/functional> |
N3672, N3793 | A utility class to represent optional objects | optional
|
<experimental/optional> |
N3804 | Any Library Proposal | any
|
<experimental/any> |
N3921 | string_view : a non-owning reference to a string
|
string_view
|
<experimental/string_view> |
N3916 | Polymorphic Memory Resources | memory_resources
|
<experimental/memory_resource> |
N3925 | A sample Proposal
|
sample
|
<experimental/algorithm> |
N3783 | Network Byte Order Conversion | network_byte_order
|
<experimental/net> |
This section is incomplete |