Definitions of additional prefixes. More...
Typedefs | |
using | kibi = std::ratio<(1LL<< 10)> |
Factor 1'024 (2^10). More... | |
using | mebi = std::ratio<(1LL<< 20)> |
Factor 1'048'576 (2^20). More... | |
using | gibi = std::ratio<(1LL<< 30)> |
Factor 1'073'741'824 (2^30). More... | |
using | tebi = std::ratio<(1LL<< 40)> |
Factor 2^40. More... | |
using | pebi = std::ratio<(1LL<< 50)> |
Factor 2^50. More... | |
using | exbi = std::ratio<(1LL<< 60)> |
Factor 2^60. More... | |
Definitions of additional prefixes.
Quantities are based on scaled units, which are units with a scaling factor.
Prefixes describe these scaling factors, as a rational number represented via a fraction. In this library, prefix objects must expose the same interface as std::ratio
template.
The standard ratio classes defined in C++ (e.g. std::milli
, std::giga
) provide most of the needed prefixes. In this namespace, custom prefixes can be defined.
A prefix can be associated with its own symbol. In that case, the prefix should specialize the template util::quantites::concepts::Prefix
and provide:
constexpr
method for the full name (name
), e.g. "milli"
constexpr
method for the short name (symbol
), e.g. "m"
For example, this prefix should work like 1'000, but has its own symbol:
Note however that the current implementation tends to bring back to std::ratio
. Also note that defining an alias, like in using grant = std::ratio<1000>
, is not enough to allow for a different symbol.
The namespace also imports the prefixes from C++ standard library for convenience.
using util::quantities::prefixes::exbi = typedef std::ratio<(1LL << 60)> |
Factor 2^60.
Definition at line 59 of file datasize.h.
using util::quantities::prefixes::gibi = typedef std::ratio<(1LL << 30)> |
Factor 1'073'741'824 (2^30).
Definition at line 50 of file datasize.h.
using util::quantities::prefixes::kibi = typedef std::ratio<(1LL << 10)> |
Factor 1'024 (2^10).
Definition at line 44 of file datasize.h.
using util::quantities::prefixes::mebi = typedef std::ratio<(1LL << 20)> |
Factor 1'048'576 (2^20).
Definition at line 47 of file datasize.h.
using util::quantities::prefixes::pebi = typedef std::ratio<(1LL << 50)> |
Factor 2^50.
Definition at line 56 of file datasize.h.
using util::quantities::prefixes::tebi = typedef std::ratio<(1LL << 40)> |
Factor 2^40.
Definition at line 53 of file datasize.h.