// - its internal representation overflows.
struct CheckedInt {
// Integral constructor, asserts if Value cannot be represented as intmax_t.
- template <typename Integral, typename std::enable_if_t<
- std::is_integral<Integral>::value, bool> = 0>
+ template <typename Integral,
+ std::enable_if_t<std::is_integral<Integral>::value, bool> = 0>
static CheckedInt from(Integral FromValue) {
if (!canTypeFitValue<intmax_t>(FromValue))
assertOutOfBounds();
// Enum constructor, asserts if Value cannot be represented as intmax_t.
template <typename Enum,
- typename std::enable_if_t<std::is_enum<Enum>::value, bool> = 0>
+ std::enable_if_t<std::is_enum<Enum>::value, bool> = 0>
static CheckedInt from(Enum FromValue) {
using type = std::underlying_type_t<Enum>;
return from<type>(static_cast<type>(FromValue));
}
// Convert to integral, asserts if Value cannot be represented as Integral.
- template <typename Integral, typename std::enable_if_t<
- std::is_integral<Integral>::value, bool> = 0>
+ template <typename Integral,
+ std::enable_if_t<std::is_integral<Integral>::value, bool> = 0>
Integral to() const {
if (!canTypeFitValue<Integral>(Value))
assertOutOfBounds();
// Convert to enum, asserts if Value cannot be represented as Enum's
// underlying type.
template <typename Enum,
- typename std::enable_if_t<std::is_enum<Enum>::value, bool> = 0>
+ std::enable_if_t<std::is_enum<Enum>::value, bool> = 0>
Enum to() const {
using type = std::underlying_type_t<Enum>;
return Enum(to<type>());