Making std::underlying_type SFINAE-friendly

Document number: P0340R3
Date: 2019-02-21
Audience: LWG
Reply to: Tim Song <>

Revision history

Proposed wording

This wording is relative to N4800.

Edit Table 55 in [meta.trans.other] as indicated:

Template Comments
... ...
template <class T>
struct underlying_type;

If T is an enumeration type, the The member typedef type names the underlying type of T (9.6 [dcl.enum]); otherwise, there is no member type.

Requires:Mandates: T shall be a is not an incomplete enumeration type. (9.6)

... ...