1 import checkedint.sticky : SmartInt; // use IntFlagPolicy.sticky 2 3 // Any basic scalar or checkedint *type* is accepted... 4 SmartInt!int n = 0; 5 n = cast(ulong)0; 6 n = cast(dchar)0; 7 n = cast(byte)0; 8 n = cast(real)0; 9 assert(!IntFlags.local); 10 11 // ...but not any *value*. 12 n = uint.max; 13 n = long.min; 14 n = real.nan; 15 assert(IntFlags.local.clear() == (IntFlag.posOver | IntFlag.negOver | IntFlag.undef));
Assign the value of that to this SmartInt instance.
checkedint.to() is used to verify that >= N.min && that <= N.max. If not, an IntFlag will be raised.