modernize-type-traits¶
将形式为 traits<...>::type
和 traits<...>::value
的标准库类型特征转换为 traits_t<...>
和 traits_v<...>
。
例如
std::is_integral<T>::value
std::is_same<int, float>::value
typename std::add_const<T>::type
std::make_signed<unsigned>::type
将转换为
std::is_integral_v<T>
std::is_same_v<int, float>
std::add_const_t<T>
std::make_signed_t<unsigned>
选项¶
- IgnoreMacros¶
如果为 true,则不会诊断宏中定义的特征。
注意:宏内部的代码将永远不会发出修复。
#define IS_SIGNED(T) std::is_signed<T>::value
默认值为 false。