Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/experimental/lib extensions"

From cppreference.com
(wip)
m (fix link)
Line 9: Line 9:
 
===class [[cpp/experimental/any|any]]===
 
===class [[cpp/experimental/any|any]]===
  
===class template [[cpp/experimental/string_view|string_view]]===
+
===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

 
 
Experimental
Technical Specification
Filesystem library (filesystem TS)
Library fundamentals (library fundamentals TS)
Library fundamentals 2 (library fundamentals TS v2)
Library fundamentals 3 (library fundamentals TS v3)
Extensions for parallelism (parallelism TS)
Extensions for parallelism 2 (parallelism TS v2)
Extensions for concurrency (concurrency TS)
Extensions for concurrency 2 (concurrency TS v2)
Concepts (concepts TS)
Ranges (ranges TS)
Reflection (reflection TS)
Mathematical special functions (special functions TR)
Experimental Non-TS
Pattern Matching
Linear Algebra
std::execution
Contracts
2D Graphics
 
 

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

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)


The C++ Extensions for Library Fundamentals technical specification includes the following significant features:

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>