mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-10 21:01:49 +00:00
base: Add Number_of_bytes::print method
This method attempts to print the number with a K/M/G unit if possible and thereby increases the human readability of generated output.
This commit is contained in:
parent
8cb0dc9c16
commit
bfdadc55b2
@ -51,6 +51,18 @@ class Genode::Number_of_bytes
|
||||
* Convert number of bytes to 'size_t' value
|
||||
*/
|
||||
operator size_t() const { return _n; }
|
||||
|
||||
void print(Output &output) const
|
||||
{
|
||||
using Genode::print;
|
||||
|
||||
enum { KB = 1024UL, MB = KB*1024UL, GB = MB*1024UL };
|
||||
|
||||
if (_n % GB == 0) print(output, _n/GB, "G");
|
||||
else if (_n % MB == 0) print(output, _n/MB, "M");
|
||||
else if (_n % KB == 0) print(output, _n/KB, "K");
|
||||
else print(output, _n);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user