libyui  3.0.13
 All Classes Functions Variables Enumerations Friends
FSize Class Reference

#include <FSize.h>

Public Types

enum  Unit {
  B = 0, K, M, G,
  T
}
 

Public Member Functions

 FSize (const long long size_r=0)
 
 FSize (const long long size_r, const Unit unit_r)
 
 FSize (const std::string &sizeStr, const Unit unit_r=B)
 
 operator long long () const
 
FSizeoperator+= (const long long rhs)
 
FSizeoperator-= (const long long rhs)
 
FSizeoperator*= (const long long rhs)
 
FSizeoperator/= (const long long rhs)
 
FSizeoperator++ ()
 
FSizeoperator-- ()
 
FSize operator++ (int)
 
FSize operator-- (int)
 
FSizefillBlock (FSize blocksize_r=KB)
 
FSize fullBlock (FSize blocksize_r=KB) const
 
long long operator() (const Unit unit_r) const
 
Unit bestUnit () const
 
std::string form (const Unit unit_r, unsigned fw=0, unsigned prec=bestPrec, const bool showunit=true) const
 
std::string form (unsigned fw=0, unsigned prec=bestPrec, const bool showunit=true) const
 
std::string asString () const
 

Static Public Member Functions

static long long factor (const Unit unit_r)
 
static const char * unit (const Unit unit_r)
 

Static Public Attributes

static const long long KB = 1024
 
static const long long MB = 1024 * KB
 
static const long long GB = 1024 * MB
 
static const long long TB = 1024 * GB
 
static const unsigned bestPrec = (unsigned)-1
 

Detailed Description

Store and operate on (file/package/partition) sizes (long long).

Definition at line 39 of file FSize.h.

Member Enumeration Documentation

The Units

Definition at line 46 of file FSize.h.

Constructor & Destructor Documentation

FSize::FSize ( const long long  size_r = 0)
inline

Construct from size in Byte.

Definition at line 95 of file FSize.h.

FSize::FSize ( const long long  size_r,
const Unit  unit_r 
)
inline

Construct from size in certain unit. E.g. FSize( 1, FSize::K ) makes 1024 Byte.

Definition at line 103 of file FSize.h.

FSize::FSize ( const std::string &  sizeStr,
const Unit  unit_r = B 
)

Construct from string containing a number in given unit.

Definition at line 34 of file FSize.cc.

Member Function Documentation

std::string FSize::asString ( ) const

Default string representation (precision 1 and unit appended).

Definition at line 122 of file FSize.cc.

Here is the call graph for this function:

FSize::Unit FSize::bestUnit ( ) const

Return the best unit for string representation.

Definition at line 66 of file FSize.cc.

static long long FSize::factor ( const Unit  unit_r)
inlinestatic

Return ammount of Byte in Unit.

Definition at line 65 of file FSize.h.

FSize & FSize::fillBlock ( FSize  blocksize_r = KB)

Adjust size to multiple of blocksize_r

Definition at line 46 of file FSize.cc.

std::string FSize::form ( const Unit  unit_r,
unsigned  fw = 0,
unsigned  prec = bestPrec,
const bool  showunit = true 
) const

Return string representation in given Unit. Parameter fw and prec denote field width and precision as in a "%*.*f" printf format string. Avalue of bestPrec automatically picks an appropriate precision depending on the unit. If showunit ist true, the string representaion of Unit is appended separated by a single blank.

If Unit is Byte, precision is set to zero.

Definition at line 87 of file FSize.cc.

Here is the call graph for this function:

std::string FSize::form ( unsigned  fw = 0,
unsigned  prec = bestPrec,
const bool  showunit = true 
) const
inline

Return string representation in bestUnit.

Definition at line 169 of file FSize.h.

Here is the call graph for this function:

FSize FSize::fullBlock ( FSize  blocksize_r = KB) const
inline

Return size adjusted to multiple of blocksize_r

Definition at line 136 of file FSize.h.

Here is the call graph for this function:

FSize::operator long long ( ) const
inline

Conversion to long long

Definition at line 115 of file FSize.h.

long long FSize::operator() ( const Unit  unit_r) const
inline

Return size in Unit ( not rounded )

Definition at line 141 of file FSize.h.

Here is the call graph for this function:

static const char* FSize::unit ( const Unit  unit_r)
inlinestatic

String representation of Unit.

Definition at line 79 of file FSize.h.

Member Data Documentation

const unsigned FSize::bestPrec = (unsigned)-1
static

Used as precision argument to form(), the 'best' precision according to Unist is chosen.

Definition at line 152 of file FSize.h.


The documentation for this class was generated from the following files: