3649. [fund.ts.v3] Reinstate and bump __cpp_lib_experimental_memory_resource feature test macro

Section: 1.5 [fund.ts.v3::general.feature.test] Status: TS Submitter: Thomas Köppe Opened: 2021-12-03 Last modified: 2022-07-11

Priority: Not Prioritized

View all issues with TS status.

Discussion:

Addresses: fund.ts.v3

The rebase on C++17 in P0996 had the effect of deleting the feature test macro __cpp_lib_experimental_memory_resource: the macro was ostensibly tied to the memory_resource facility that had become part of C++17, but we overlooked that there was a residual piece that has not been adopted in the IS, namely the resource_adaptor class template.

It is still useful to be able to detect the presence of resource_adaptor, so we should reinstate the feature test macro and bump its value.

[2022-01-30; Reflector poll]

Set status to Tentatively Ready after six votes in favour during reflector poll.

[2022-07-11 Approved at February 2022 virtual plenary. Status changed: Tentatively Ready → TS.]

Proposed resolution:

This wording is relative to N4853.

  1. Modify 1.5 [fund.ts.v3::general.feature.test], Table 2, as indicated:

    Table 2 — Significant features in this technical specification
    Doc. No. Title Primary
    Section
    Macro Name Suffix Value Header
    N3916 Type-erased allocator for std::function 4.2 function_erased_allocator 201406 <experimental/functional>
    N3916 Polymorphic Memory Resources 5.4 [fund.ts.v3::memory.resource.syn] memory_resources [new value] <experimental/memory_resource>
    N4282 The World's Dumbest Smart Pointer 8.12 observer_ptr 201411 <experimental/memory>