libyui  3.0.10
FSize Class Reference

#include <FSize.h>

List of all members.

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:

Return the best unit for string representation.

Definition at line 66 of file FSize.cc.

static long long FSize::factor ( const Unit  unit_r) [inline, static]

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) [inline, static]

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:
 All Classes Functions Variables Enumerations Friends