[SERVER-26455] Provide a C++17 stdx type traits implementation Created: 04/Oct/16  Updated: 06/Dec/22  Resolved: 24/May/19

Status: Closed
Project: Core Server
Component/s: Internal Code
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Mira Carey Assignee: DO NOT USE - Backlog - Dev Tools
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-28551 Create a C++14 implementation of C++1... Closed
Assigned Teams:
Developer Tools
Participants:

 Description   

C++14 offers nearly all of the compiler support required to support the full universe of C++17 type traits.

In particular:

  • variable templates for values
    • is_pod<T>::value -> is_pod_v<T>
  • C++17 traits
    • void_t, is_(no)throw_swappable(_with), (con|dis)junction, negation, bool_constant, etc.

These make template meta programs dramatically easier to read by reducing line noise.



 Comments   
Comment by Andrew Morrow (Inactive) [ 24/May/19 ]

We are now on C++17, so there is no need to polyfill these.

Generated at Thu Feb 08 04:12:12 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.