This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of TS status.

### 2409. [fund.ts] SFINAE-friendly `common_type/iterator_traits` should be removed from the fundamental-ts

Section: 3.3.2 [fund.ts::meta.trans.other], 99 [fund.ts::iterator.traits] Status: TS Submitter: Daniel Krügler Opened: 2014-06-19 Last modified: 2017-07-30

Priority: Not Prioritized

View all other issues in [fund.ts::meta.trans.other].

View all issues with TS status.

Discussion:

Addresses: fund.ts

During the Rapperswil meeting the proposal N4041 had been discussed and there seemed to be strong consensus to apply the SFINAE-friendly definitions that currently exist within the fundamentals-ts to the C++17 working draft. If this happens, the fundamentals-ts needs to remove its own specification regarding these templates. This issue requests this change to happen.

[2013-06-21 Rapperswil]

Accept for Fundamentals TS Working Paper

Proposed resolution:

This wording is relative to N4023 in regard to fundamental-ts changes.

1. In fundamental-ts, change Table 2 — "Significant features in this technical specification" as indicated:

   > Table 2 — Significant features in this technical specification
   > Doc. No. | Title | Primary Section | Macro Name Suffix | Value | Header
   > --- | --- | --- | --- | --- | ---
   > `…`
   > N3843 | A SFINAE- Friendly `common_type` | 2.4 [mods.meta.trans.other] | `common_type_sfinae` | `201402` | `<type_traits>`
   > N3843 | A SFINAE- Friendly `iterator_traits` | 2.5 [mods.iterator.traits] | `iterator_traits_sfinae` | `201402` | `<iterator>`
   > `…`

2. In fundamental-ts, remove the existing sub-clause 2.4 [mods.meta.trans.other] in its entirety:

   2.4 Changes to `std::common_type` [mods.meta.trans.other]

   > -1- […]

3. In fundamental-ts, remove the existing sub-clause 2.5 [mods.iterator.traits] in its entirety:

   2.5 Changes to `std::iterator_traits` [mods.iterator.traits]

   > -1- […]