diff --git a/src/sicccobject.H b/src/sicccobject.H index 9bcdc1c..eedce1a 100644 --- a/src/sicccobject.H +++ b/src/sicccobject.H @@ -58,6 +58,21 @@ class Sicccobject { std::chrono::time_point get_uploadtime() const { return upload_date; } + std::string get_pretty_sized() const + { + std::ostringstream strm( std::ios_base::ate); + int i = 0; + size_t mysize = size; + const char* units[] = {"B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"}; + while (mysize > 1024) { + mysize /= 1024; + i++; + } + assert(i < 9); + strm << mysize << units[i]; + return strm.str(); + } + private: std::string filename; std::string filetype;