libcxx

libcxx mirror with random patches
git clone https://git.neptards.moe/neptards/libcxx.git
Log | Files | Refs

FeatureTestMacroTable.rst (12953B)


      1 .. _FeatureTestMacroTable:
      2 
      3 ==========================
      4 Feature Test Macro Support
      5 ==========================
      6 
      7 .. contents::
      8    :local:
      9 
     10 Overview
     11 ========
     12 
     13 This file documents the feature test macros currently supported by libc++.
     14 
     15 .. _feature-status:
     16 
     17 Status
     18 ======
     19 
     20 .. table:: Current Status
     21      :name: feature-status-table
     22      :widths: auto
     23      
     24     ================================================= =================
     25     Macro Name                                        Value            
     26     ================================================= =================
     27     **C++ 14**                                                         
     28     -------------------------------------------------------------------
     29     ``__cpp_lib_chrono_udls``                         ``201304L``      
     30     ------------------------------------------------- -----------------
     31     ``__cpp_lib_complex_udls``                        ``201309L``      
     32     ------------------------------------------------- -----------------
     33     ``__cpp_lib_exchange_function``                   ``201304L``      
     34     ------------------------------------------------- -----------------
     35     ``__cpp_lib_generic_associative_lookup``          ``201304L``      
     36     ------------------------------------------------- -----------------
     37     ``__cpp_lib_integer_sequence``                    ``201304L``      
     38     ------------------------------------------------- -----------------
     39     ``__cpp_lib_integral_constant_callable``          ``201304L``      
     40     ------------------------------------------------- -----------------
     41     ``__cpp_lib_is_final``                            ``201402L``      
     42     ------------------------------------------------- -----------------
     43     ``__cpp_lib_is_null_pointer``                     ``201309L``      
     44     ------------------------------------------------- -----------------
     45     ``__cpp_lib_make_reverse_iterator``               ``201402L``      
     46     ------------------------------------------------- -----------------
     47     ``__cpp_lib_make_unique``                         ``201304L``      
     48     ------------------------------------------------- -----------------
     49     ``__cpp_lib_null_iterators``                      ``201304L``      
     50     ------------------------------------------------- -----------------
     51     ``__cpp_lib_quoted_string_io``                    ``201304L``      
     52     ------------------------------------------------- -----------------
     53     ``__cpp_lib_result_of_sfinae``                    ``201210L``      
     54     ------------------------------------------------- -----------------
     55     ``__cpp_lib_robust_nonmodifying_seq_ops``         ``201304L``      
     56     ------------------------------------------------- -----------------
     57     ``__cpp_lib_shared_timed_mutex``                  ``201402L``      
     58     ------------------------------------------------- -----------------
     59     ``__cpp_lib_string_udls``                         ``201304L``      
     60     ------------------------------------------------- -----------------
     61     ``__cpp_lib_transformation_trait_aliases``        ``201304L``      
     62     ------------------------------------------------- -----------------
     63     ``__cpp_lib_transparent_operators``               ``201210L``      
     64     ------------------------------------------------- -----------------
     65     ``__cpp_lib_tuple_element_t``                     ``201402L``      
     66     ------------------------------------------------- -----------------
     67     ``__cpp_lib_tuples_by_type``                      ``201304L``      
     68     ------------------------------------------------- -----------------
     69     **C++ 17**                                                         
     70     -------------------------------------------------------------------
     71     ``__cpp_lib_addressof_constexpr``                 ``201603L``      
     72     ------------------------------------------------- -----------------
     73     ``__cpp_lib_allocator_traits_is_always_equal``    ``201411L``      
     74     ------------------------------------------------- -----------------
     75     ``__cpp_lib_any``                                 ``201606L``      
     76     ------------------------------------------------- -----------------
     77     ``__cpp_lib_apply``                               ``201603L``      
     78     ------------------------------------------------- -----------------
     79     ``__cpp_lib_array_constexpr``                     ``201603L``      
     80     ------------------------------------------------- -----------------
     81     ``__cpp_lib_as_const``                            ``201510L``      
     82     ------------------------------------------------- -----------------
     83     ``__cpp_lib_atomic_is_always_lock_free``          ``201603L``      
     84     ------------------------------------------------- -----------------
     85     ``__cpp_lib_bool_constant``                       ``201505L``      
     86     ------------------------------------------------- -----------------
     87     ``__cpp_lib_boyer_moore_searcher``                *unimplemented*  
     88     ------------------------------------------------- -----------------
     89     ``__cpp_lib_byte``                                ``201603L``      
     90     ------------------------------------------------- -----------------
     91     ``__cpp_lib_chrono``                              ``201611L``      
     92     ------------------------------------------------- -----------------
     93     ``__cpp_lib_clamp``                               ``201603L``      
     94     ------------------------------------------------- -----------------
     95     ``__cpp_lib_enable_shared_from_this``             ``201603L``      
     96     ------------------------------------------------- -----------------
     97     ``__cpp_lib_execution``                           *unimplemented*  
     98     ------------------------------------------------- -----------------
     99     ``__cpp_lib_filesystem``                          ``201703L``      
    100     ------------------------------------------------- -----------------
    101     ``__cpp_lib_gcd_lcm``                             ``201606L``      
    102     ------------------------------------------------- -----------------
    103     ``__cpp_lib_hardware_interference_size``          ``201703L``      
    104     ------------------------------------------------- -----------------
    105     ``__cpp_lib_has_unique_object_representations``   ``201606L``      
    106     ------------------------------------------------- -----------------
    107     ``__cpp_lib_hypot``                               ``201603L``      
    108     ------------------------------------------------- -----------------
    109     ``__cpp_lib_incomplete_container_elements``       ``201505L``      
    110     ------------------------------------------------- -----------------
    111     ``__cpp_lib_invoke``                              ``201411L``      
    112     ------------------------------------------------- -----------------
    113     ``__cpp_lib_is_aggregate``                        ``201703L``      
    114     ------------------------------------------------- -----------------
    115     ``__cpp_lib_is_invocable``                        ``201703L``      
    116     ------------------------------------------------- -----------------
    117     ``__cpp_lib_is_swappable``                        ``201603L``      
    118     ------------------------------------------------- -----------------
    119     ``__cpp_lib_launder``                             ``201606L``      
    120     ------------------------------------------------- -----------------
    121     ``__cpp_lib_logical_traits``                      ``201510L``      
    122     ------------------------------------------------- -----------------
    123     ``__cpp_lib_make_from_tuple``                     ``201606L``      
    124     ------------------------------------------------- -----------------
    125     ``__cpp_lib_map_try_emplace``                     ``201411L``      
    126     ------------------------------------------------- -----------------
    127     ``__cpp_lib_math_special_functions``              *unimplemented*  
    128     ------------------------------------------------- -----------------
    129     ``__cpp_lib_memory_resource``                     *unimplemented*  
    130     ------------------------------------------------- -----------------
    131     ``__cpp_lib_node_extract``                        ``201606L``      
    132     ------------------------------------------------- -----------------
    133     ``__cpp_lib_nonmember_container_access``          ``201411L``      
    134     ------------------------------------------------- -----------------
    135     ``__cpp_lib_not_fn``                              ``201603L``      
    136     ------------------------------------------------- -----------------
    137     ``__cpp_lib_optional``                            ``201606L``      
    138     ------------------------------------------------- -----------------
    139     ``__cpp_lib_parallel_algorithm``                  *unimplemented*  
    140     ------------------------------------------------- -----------------
    141     ``__cpp_lib_raw_memory_algorithms``               ``201606L``      
    142     ------------------------------------------------- -----------------
    143     ``__cpp_lib_sample``                              ``201603L``      
    144     ------------------------------------------------- -----------------
    145     ``__cpp_lib_scoped_lock``                         ``201703L``      
    146     ------------------------------------------------- -----------------
    147     ``__cpp_lib_shared_mutex``                        ``201505L``      
    148     ------------------------------------------------- -----------------
    149     ``__cpp_lib_shared_ptr_arrays``                   *unimplemented*  
    150     ------------------------------------------------- -----------------
    151     ``__cpp_lib_shared_ptr_weak_type``                ``201606L``      
    152     ------------------------------------------------- -----------------
    153     ``__cpp_lib_string_view``                         ``201606L``      
    154     ------------------------------------------------- -----------------
    155     ``__cpp_lib_to_chars``                            *unimplemented*  
    156     ------------------------------------------------- -----------------
    157     ``__cpp_lib_transparent_operators``               ``201510L``      
    158     ------------------------------------------------- -----------------
    159     ``__cpp_lib_type_trait_variable_templates``       ``201510L``      
    160     ------------------------------------------------- -----------------
    161     ``__cpp_lib_uncaught_exceptions``                 ``201411L``      
    162     ------------------------------------------------- -----------------
    163     ``__cpp_lib_unordered_map_try_emplace``           ``201411L``      
    164     ------------------------------------------------- -----------------
    165     ``__cpp_lib_variant``                             ``201606L``      
    166     ------------------------------------------------- -----------------
    167     ``__cpp_lib_void_t``                              ``201411L``      
    168     ------------------------------------------------- -----------------
    169     **C++ 2a**                                                         
    170     -------------------------------------------------------------------
    171     ``__cpp_lib_atomic_ref``                          *unimplemented*  
    172     ------------------------------------------------- -----------------
    173     ``__cpp_lib_bind_front``                          *unimplemented*  
    174     ------------------------------------------------- -----------------
    175     ``__cpp_lib_bit_cast``                            *unimplemented*  
    176     ------------------------------------------------- -----------------
    177     ``__cpp_lib_char8_t``                             ``201811L``      
    178     ------------------------------------------------- -----------------
    179     ``__cpp_lib_concepts``                            *unimplemented*  
    180     ------------------------------------------------- -----------------
    181     ``__cpp_lib_constexpr_misc``                      *unimplemented*  
    182     ------------------------------------------------- -----------------
    183     ``__cpp_lib_constexpr_swap_algorithms``           *unimplemented*  
    184     ------------------------------------------------- -----------------
    185     ``__cpp_lib_destroying_delete``                   *unimplemented*  
    186     ------------------------------------------------- -----------------
    187     ``__cpp_lib_erase_if``                            ``201811L``      
    188     ------------------------------------------------- -----------------
    189     ``__cpp_lib_generic_unordered_lookup``            *unimplemented*  
    190     ------------------------------------------------- -----------------
    191     ``__cpp_lib_is_constant_evaluated``               *unimplemented*  
    192     ------------------------------------------------- -----------------
    193     ``__cpp_lib_list_remove_return_type``             *unimplemented*  
    194     ------------------------------------------------- -----------------
    195     ``__cpp_lib_ranges``                              *unimplemented*  
    196     ------------------------------------------------- -----------------
    197     ``__cpp_lib_three_way_comparison``                *unimplemented*  
    198     ================================================= =================
    199 
    200