Cthulhu  0.2.10
Cthulhu compiler collection
Memory Struct Reference

#include <memory.hpp>

Public Types

enum  Unit {
  eBytes , eKilobytes , eMegabytes , eGigabytes ,
  eTerabytes , eLimit
}
 

Public Member Functions

constexpr Memory (size_t memory=0, Unit unit=eBytes)
 
constexpr size_t b () const
 
constexpr size_t kb () const
 
constexpr size_t mb () const
 
constexpr size_t gb () const
 
constexpr size_t tb () const
 
constexpr size_t as_bytes () const
 
constexpr size_t as_kilobytes () const
 
constexpr size_t as_megabytes () const
 
constexpr size_t as_gigabytes () const
 
constexpr size_t as_terabytes () const
 
constexpr Memory operator+ (const Memory &rhs) const
 
constexpr Memory operator- (const Memory &rhs) const
 
constexpr Memoryoperator+= (const Memory &rhs)
 
constexpr Memoryoperator-= (const Memory &rhs)
 
std::string to_string () const
 

Static Public Member Functions

constexpr static Memory bytes (size_t bytes)
 
constexpr static Memory kilobytes (size_t kilobytes)
 
constexpr static Memory megabytes (size_t megabytes)
 
constexpr static Memory gigabytes (size_t gigabytes)
 
constexpr static Memory terabytes (size_t terabytes)
 

Static Public Attributes

static constexpr size_t kByte = 1
 
static constexpr size_t kKilobyte = kByte * 1024
 
static constexpr size_t kMegabyte = kKilobyte * 1024
 
static constexpr size_t kGigabyte = kMegabyte * 1024
 
static constexpr size_t kTerabyte = kGigabyte * 1024
 
static constexpr size_t kSizes [eLimit]
 
static constexpr const char * kNames [eLimit]
 

Friends

constexpr friend auto operator<=> (const Memory &lhs, const Memory &rhs)=default
 

Detailed Description

Definition at line 5 of file memory.hpp.

Member Enumeration Documentation

◆ Unit

Enumerator
eBytes 
eKilobytes 
eMegabytes 
eGigabytes 
eTerabytes 
eLimit 

Definition at line 6 of file memory.hpp.

Constructor & Destructor Documentation

◆ Memory()

constexpr Memory::Memory ( size_t  memory = 0,
Unit  unit = eBytes 
)
inlineconstexpr

Definition at line 33 of file memory.hpp.

Member Function Documentation

◆ as_bytes()

constexpr size_t Memory::as_bytes ( ) const
inlineconstexpr

Definition at line 49 of file memory.hpp.

◆ as_gigabytes()

constexpr size_t Memory::as_gigabytes ( ) const
inlineconstexpr

Definition at line 52 of file memory.hpp.

◆ as_kilobytes()

constexpr size_t Memory::as_kilobytes ( ) const
inlineconstexpr

Definition at line 50 of file memory.hpp.

◆ as_megabytes()

constexpr size_t Memory::as_megabytes ( ) const
inlineconstexpr

Definition at line 51 of file memory.hpp.

◆ as_terabytes()

constexpr size_t Memory::as_terabytes ( ) const
inlineconstexpr

Definition at line 53 of file memory.hpp.

◆ b()

constexpr size_t Memory::b ( ) const
inlineconstexpr

Definition at line 43 of file memory.hpp.

◆ bytes()

constexpr static Memory Memory::bytes ( size_t  bytes)
inlinestaticconstexpr

Definition at line 37 of file memory.hpp.

◆ gb()

constexpr size_t Memory::gb ( ) const
inlineconstexpr

Definition at line 46 of file memory.hpp.

◆ gigabytes()

constexpr static Memory Memory::gigabytes ( size_t  gigabytes)
inlinestaticconstexpr

Definition at line 40 of file memory.hpp.

◆ kb()

constexpr size_t Memory::kb ( ) const
inlineconstexpr

Definition at line 44 of file memory.hpp.

◆ kilobytes()

constexpr static Memory Memory::kilobytes ( size_t  kilobytes)
inlinestaticconstexpr

Definition at line 38 of file memory.hpp.

◆ mb()

constexpr size_t Memory::mb ( ) const
inlineconstexpr

Definition at line 45 of file memory.hpp.

◆ megabytes()

constexpr static Memory Memory::megabytes ( size_t  megabytes)
inlinestaticconstexpr

Definition at line 39 of file memory.hpp.

◆ operator+()

constexpr Memory Memory::operator+ ( const Memory rhs) const
inlineconstexpr

Definition at line 57 of file memory.hpp.

◆ operator+=()

constexpr Memory& Memory::operator+= ( const Memory rhs)
inlineconstexpr

Definition at line 60 of file memory.hpp.

◆ operator-()

constexpr Memory Memory::operator- ( const Memory rhs) const
inlineconstexpr

Definition at line 58 of file memory.hpp.

◆ operator-=()

constexpr Memory& Memory::operator-= ( const Memory rhs)
inlineconstexpr

Definition at line 61 of file memory.hpp.

◆ tb()

constexpr size_t Memory::tb ( ) const
inlineconstexpr

Definition at line 47 of file memory.hpp.

◆ terabytes()

constexpr static Memory Memory::terabytes ( size_t  terabytes)
inlinestaticconstexpr

Definition at line 41 of file memory.hpp.

◆ to_string()

std::string Memory::to_string ( ) const

Definition at line 5 of file memory.cpp.

Friends And Related Function Documentation

◆ operator<=>

constexpr friend auto operator<=> ( const Memory lhs,
const Memory rhs 
)
friend

Field Documentation

◆ kByte

constexpr size_t Memory::kByte = 1
staticconstexpr

Definition at line 15 of file memory.hpp.

◆ kGigabyte

constexpr size_t Memory::kGigabyte = kMegabyte * 1024
staticconstexpr

Definition at line 18 of file memory.hpp.

◆ kKilobyte

constexpr size_t Memory::kKilobyte = kByte * 1024
staticconstexpr

Definition at line 16 of file memory.hpp.

◆ kMegabyte

constexpr size_t Memory::kMegabyte = kKilobyte * 1024
staticconstexpr

Definition at line 17 of file memory.hpp.

◆ kNames

constexpr const char* Memory::kNames[eLimit]
staticconstexpr
Initial value:
= {
"b", "kb", "mb", "gb", "tb"
}

Definition at line 29 of file memory.hpp.

◆ kSizes

constexpr size_t Memory::kSizes[eLimit]
staticconstexpr
Initial value:
= {
}
static constexpr size_t kGigabyte
Definition: memory.hpp:18
static constexpr size_t kKilobyte
Definition: memory.hpp:16
static constexpr size_t kMegabyte
Definition: memory.hpp:17
static constexpr size_t kByte
Definition: memory.hpp:15
static constexpr size_t kTerabyte
Definition: memory.hpp:19

Definition at line 21 of file memory.hpp.

◆ kTerabyte

constexpr size_t Memory::kTerabyte = kGigabyte * 1024
staticconstexpr

Definition at line 19 of file memory.hpp.


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