castToUnderlying(Zero), 1 0, 1 castToUnderlying(One), 2 1, 2 castToUnderlying(Two), 3 2, 3 castToUnderlying(TypedZero), 1 0, 1 castToUnderlying(TypedOne), 2 1, 2 castToUnderlying(TypedTwo), 3 2, 3 EnumClassC::Zero, EnumClassC::One 48, 49 EnumClassC::One, EnumClassC::Two 49, 50 EnumClassC::Two, EnumClassC::Zero 50, 48 EnumClassSC::Zero, EnumClassSC::One 48, 49 EnumClassSC::One, EnumClassSC::Two 49, 50 EnumClassSC::Two, EnumClassSC::Zero 50, 48 EnumClassUC::Zero, EnumClassUC::One 48, 49 EnumClassUC::One, EnumClassUC::Two 49, 50 EnumClassUC::Two, EnumClassUC::Zero 50, 48 EnumClassU8::Zero, EnumClassU8::One 0, 1 EnumClassU8::One, EnumClassU8::Two 1, 2 EnumClassU8::Two, EnumClassU8::Zero 2, 0 Program code.