Boost logo

Boost :

From: Alexander Grund (alexander.grund_at_[hidden])
Date: 2024-11-19 09:52:05


>> maybe a related question - how to you handle overflows - for example
>> reading a too large value into a float?
> That's not supported, you'll need to provide a double or a 64 bit int.
What do you mean by "not supported"? What happens when you read a value
larger than INT_MAX to an int? Or a value exceeding FLOAT_MAX but still
using a float?
Will those be silently truncated, UB in case of int, wrapped to inf for
float?
Haven't checked yet, but I guess reading an int value to a string will
cause an error/exception to be generated by the library, doesn't it?
I'd argue the same should be done if the value doesn't fit in the
numeric target type
>> is there a way to define how safe the conversion should be (plain cast,
>> check for overflow and throw exception)?
>>
> It's a minimal set of types at the moment and these are all safe.
> A user can add his own conversions and will then be responsible to assure
> it's safe.
See above: In which way are they "safe"? Is this in the documentation?



Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk