On Tuesday, 4 August 2015 at 04:10:33 UTC, tcak wrote:
There is a use case for me that I am given a string, and before even trying to convert it to integer, I want to check whether it is valid. One of the checks necessary for this is the length of string.

So, if I have received "156" and it should be converted to ubyte, I would check whether it is at most 3 bytes length.

While doing that someone would define that maximum length in the code, while length information is constant and never changes.

For this reason, however data types have properties like max, min, and init, I would ask for addition of new properties for integral (even for floating points as well) types as (Example values for ubyte):

max_hex_length = 2
max_dec_length = 3
max_bin_length = 8

enum max_hex_length = T.sizeof * 2;
enum max_bin_length = T.sizeof * 8;
enum max_dec_length = cast(T)log10(T.sizeof) + 1;

Reply via email to