mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 12:32:56 +01: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:
committed by
Christian Helmuth
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);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user