mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
core: introduce a few user-defined literals for unit types
Thise makes initialization of unit types more palatable. For example: surface.time = sample.time - duration_t { .seconds = 20 }; => surface.time = sample.time - 20_sec; delta_depth.mm = feet_to_mm(1.0); // 1ft => delta_depth = 1_ft; get_cylinderid_at_time(..., { .seconds = 20 * 60 + 1 })); => get_cylinderid_at_time(..., 20_min + 1_sec)); Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
f09601bc93
commit
ae81b42fe2
36 changed files with 320 additions and 264 deletions
|
@ -1293,10 +1293,11 @@ fraction_t string_to_fraction(const char *str)
|
|||
/*
|
||||
* Don't permit values less than zero or greater than 100%
|
||||
*/
|
||||
// TODO: use std::clamp() once we have comparison on unit types
|
||||
if (fraction.permille < 0)
|
||||
fraction.permille = 0;
|
||||
fraction = 0_percent;
|
||||
else if (fraction.permille > 1000)
|
||||
fraction.permille = 1000;
|
||||
fraction = 100_percent;
|
||||
return fraction;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue