Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      C++ standard libraries extensions

      From cppreference.com
      <cpp‎ |experimental
       
       
      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
       
       

      Version 1 of the C++ Extensions for Library Fundamentals, ISO/IEC TS 19568:2015 defines the following new components for the C++ standard library:

      Contents

      [edit]Not selected for inclusion in C++17

      The following components of ISO/IEC TS 19568:2015 were not selected for inclusion in C++17.

      [edit]Modified versions of existing classes to support type-erased allocators

      Defined in header<experimental/functional>
      a modified version ofstd::function with support for type-erased allocators
      (class template)
      Defined in header<experimental/future>
      a modified version ofstd::promise with support for type-erased allocators
      (class template)
      a modified version ofstd::packaged_task with support for type-erased allocators
      (class template)

      [edit]Memory resource adaptors

      adapts an allocator into amemory_resource
      (alias template)

      [edit]General utilities

      Defined in header<experimental/utility>
      placeholder type for type erasure, such as in allocators
      (class)
      deduce the implied function type of the callable object when called with the given argument types
      (class template)

      [edit]Feature test macros

      Defined in header<experimental/optional>
      __cpp_lib_experimental_optional
      a value of at least201411 indicates that the optional type is supported
      (macro constant)
      Defined in header<experimental/any>
      __cpp_lib_experimental_any
      a value of at least201411 indicates that the any type is supported
      (macro constant)
      __cpp_lib_experimental_string_view
      a value of at least201411 indicates that basic_string_view template is supported
      (macro constant)
      Defined in header<experimental/tuple>
      __cpp_lib_experimental_apply
      a value of at least201402 indicates that the tuple apply() function is supported
      (macro constant)
      __cpp_lib_experimental_type_trait_variable_templates
      a value of at least201402 indicates that variable template type traits are supported
      (macro constant)
      __cpp_lib_experimental_invocation_type
      a value of at least201406 indicates that invocation type traits are supported
      (macro constant)
      Defined in header<experimental/functional>
      __cpp_lib_experimental_boyer_moore_searching
      a value of at least201411 indicates that additional searching algorithms are supported
      (macro constant)
      __cpp_lib_experimental_function_erased_allocator
      a value of at least201406 indicates that type-erased allocator for std::function is supported
      (macro constant)
      Defined in header<experimental/future>
      __cpp_lib_experimental_promise_erased_allocator
      a value of at least201406 indicates that type-erased allocator for std::promise is supported
      (macro constant)
      __cpp_lib_experimental_packaged_task_erased_allocator
      a value of at least201406 indicates that type-erased allocator for std::packaged_task is supported
      (macro constant)
      Defined in header<experimental/memory>
      __cpp_lib_experimental_shared_ptr_arrays
      a value of at least201406 indicates that shared_ptr arrays are supported
      (macro constant)
      __cpp_lib_experimental_memory_resources
      a value of at least201402 indicates that polymorphic memory resources are supported
      (macro constant)
      Defined in header<experimental/algorithm>
      __cpp_lib_experimental_sample
      a value of201402 indicates that the sample algorithm is supported
      (macro constant)

      [edit]Merged into C++17

      The following components of ISO/IEC TS 19568:2015 were included into C++17.

      [edit]optional objects

      Defined in header<experimental/optional>
      a class template representingoptional objects
      (class template)

      [edit]classany

      Defined in header<experimental/any>
      a type-safe container for single values of any type
      (class)

      [edit]string_view

      a non-owning reference to a string
      (class template)

      [edit]Type-erased and polymorphic allocators

      [edit]Polymorphic allocators and memory resources

      The entities in this section are declared in thestd::experimental::pmr namespace.

      an abstract interface for classes that encapsulate memory resources
      (class)
      a thread-safememory_resource for managing allocations in pools of different block sizes
      (class)[edit]
      a thread-unsafememory_resource for managing allocations in pools of different block sizes
      (class)[edit]
      a special-purposememory_resource that releases the allocated memory only when the resource is destroyed
      (class)
      an allocator that supports run-time polymorphism based on thememory_resource it is constructed with
      (class template)
      returns a static program-widememory_resource that uses the globaloperator new andoperator delete to allocate and deallocate memory
      (function)[edit]
      returns a staticmemory_resource that performs no allocation
      (function)[edit]
      gets the defaultmemory_resource
      (function)[edit]
      sets the defaultmemory_resource
      (function)[edit]

      [edit]Convenience aliases for containers using polymorphic allocators

      Convenience aliases and alias templates for containers using polymorphic allocators are provided in thestd::experimental::pmr namespace for the following class templates in the standard library:

      List of container templates for which convenience aliases are provided

      [edit]Array support forshared_ptr

      Defined in header<experimental/memory>
      Class Description
      a modified version ofstd::shared_ptr that supports arrays
      (class template)
      a modified version ofstd::weak_ptr that supports arrays
      (class template)

      [edit]Sampling and searching algorithms

      Defined in header<experimental/algorithm>
      selects n random elements from a sequence
      (function template)
      applies a Searcher to a sequence
      (function template)
      Defined in header<experimental/functional>
      standard C++ library search algorithm implementation
      (class template)
      helper function to create a default_searcher
      (function template)
      Boyer-Moore search algorithm implementation
      (class template)
      helper function to create a boyer_moore_searcher
      (function template)
      Boyer-Moore-Horspool search algorithm implementation
      (class template)
      helper function to create a boyer_moore_horspool_searcher
      (function template)

      [edit]General utilities

      Defined in header<experimental/tuple>
      calls a function to a tuple of arguments
      (function template)

      In addition, the TS providesnumerousconstexpr variable templates for the following type traits and other class templates in the standard library:

      List of type traits and other class templates for which variable templates are provided
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/lib_extensions&oldid=164146"

      [8]ページ先頭

      ©2009-2025 Movatter.jp