ORIGINAL
Loading...
Searching...
No Matches
zeit.h File Reference

Time and date handling utilities. More...

#include <cmath>
#include "config.h"
#include "comparable.h"
#include "hash.h"
#include "printable.h"
#include "error.h"
#include <iomanip>
Include dependency graph for zeit.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  original::time
 Namespace-like class containing time-related utilities. More...
 
class  original::time::duration
 Represents a time duration with nanosecond precision. More...
 
class  original::time::point
 Represents a point in time with nanosecond precision. More...
 
class  original::time::UTCTime
 Represents a UTC calendar date and time. More...
 

Namespaces

namespace  original
 Main namespace for the project Original.
 
namespace  literals
 User-defined literals for time durations.
 

Functions

time::duration original::nanoseconds (time::time_val_type val=1)
 
time::duration original::microseconds (time::time_val_type val=1)
 
time::duration original::milliseconds (time::time_val_type val=1)
 
time::duration original::seconds (time::time_val_type val=1)
 
time::duration original::minutes (time::time_val_type val=1)
 
time::duration original::hours (time::time_val_type val=1)
 
time::duration original::days (time::time_val_type val=1)
 
time::duration original::operator- (const time::duration &d)
 
time::duration original::operator+ (const time::duration &lhs, const time::duration &rhs)
 
time::duration original::operator- (const time::duration &lhs, const time::duration &rhs)
 
time::duration original::operator* (const time::duration &d, time::time_val_type factor)
 
time::duration original::operator* (time::time_val_type factor, const time::duration &d)
 
time::duration original::operator/ (const time::duration &d, time::time_val_type factor)
 
time::duration original::operator/ (const time::duration &lhs, const time::duration &rhs)
 
time::duration original::abs (const time::duration &d)
 
time::point original::operator+ (const time::point &p, const time::duration &d)
 
time::point original::operator+ (const time::duration &d, const time::point &p)
 
time::point original::operator- (const time::point &p, const time::duration &d)
 
time::duration original::operator- (const time::point &lhs, const time::point &rhs)
 
time::UTCTime original::operator+ (const time::UTCTime &t, const time::duration &d)
 
time::UTCTime original::operator+ (const time::duration &d, const time::UTCTime &t)
 
time::UTCTime original::operator- (const time::UTCTime &t, const time::duration &d)
 
time::duration original::operator- (const time::UTCTime &lhs, const time::UTCTime &rhs)
 
time::duration original::literals::operator""_ns (const unsigned long long val)
 Creates nanosecond duration from integer literal.
 
time::duration original::literals::operator""_us (const unsigned long long val)
 Creates microsecond duration from integer literal.
 
time::duration original::literals::operator""_ms (const unsigned long long val)
 Creates millisecond duration from integer literal.
 
time::duration original::literals::operator""_s (const unsigned long long val)
 Creates second duration from integer literal.
 
time::duration original::literals::operator""_min (const unsigned long long val)
 Creates minute duration from integer literal.
 
time::duration original::literals::operator""_h (const unsigned long long val)
 Creates hour duration from integer literal.
 
time::duration original::literals::operator""_d (const unsigned long long val)
 Creates day duration from integer literal.
 
time::duration original::literals::operator""_ns (const long double val)
 Creates nanosecond duration from floating-point literal.
 
time::duration original::literals::operator""_us (const long double val)
 Creates microsecond duration from floating-point literal.
 
time::duration original::literals::operator""_ms (const long double val)
 Creates millisecond duration from floating-point literal.
 
time::duration original::literals::operator""_s (const long double val)
 Creates second duration from floating-point literal.
 
time::duration original::literals::operator""_min (const long double val)
 Creates minute duration from floating-point literal.
 
time::duration original::literals::operator""_h (const long double val)
 Creates hour duration from floating-point literal.
 
time::duration original::literals::operator""_d (const long double val)
 Creates day duration from floating-point literal.
 

Detailed Description

Time and date handling utilities.

Provides classes for time duration, points in time, and UTC date/time handling. Includes support for:

  • Time durations with various units (nanoseconds to days)
  • Time points representing moments in time
  • UTC date/time with calendar operations
  • Literals for time durations

Key features:

  • High precision time representation (nanoseconds)
  • Calendar calculations (leap years, days in month, etc.)
  • Platform-independent time operations
  • Comparable, hashable, and printable interfaces

Function Documentation

◆ operator""_d() [1/2]

time::duration original::literals::operator""_d ( const long double val)
inline

Creates day duration from floating-point literal.

Parameters
valValue in days
Returns
Duration object

◆ operator""_d() [2/2]

time::duration original::literals::operator""_d ( const unsigned long long val)
inline

Creates day duration from integer literal.

Parameters
valValue in days
Returns
Duration object

◆ operator""_h() [1/2]

time::duration original::literals::operator""_h ( const long double val)
inline

Creates hour duration from floating-point literal.

Parameters
valValue in hours
Returns
Duration object

◆ operator""_h() [2/2]

time::duration original::literals::operator""_h ( const unsigned long long val)
inline

Creates hour duration from integer literal.

Parameters
valValue in hours
Returns
Duration object

◆ operator""_min() [1/2]

time::duration original::literals::operator""_min ( const long double val)
inline

Creates minute duration from floating-point literal.

Parameters
valValue in minutes
Returns
Duration object

◆ operator""_min() [2/2]

time::duration original::literals::operator""_min ( const unsigned long long val)
inline

Creates minute duration from integer literal.

Parameters
valValue in minutes
Returns
Duration object

◆ operator""_ms() [1/2]

time::duration original::literals::operator""_ms ( const long double val)
inline

Creates millisecond duration from floating-point literal.

Parameters
valValue in milliseconds
Returns
Duration object

◆ operator""_ms() [2/2]

time::duration original::literals::operator""_ms ( const unsigned long long val)
inline

Creates millisecond duration from integer literal.

Parameters
valValue in milliseconds
Returns
Duration object

◆ operator""_ns() [1/2]

time::duration original::literals::operator""_ns ( const long double val)
inline

Creates nanosecond duration from floating-point literal.

Parameters
valValue in nanoseconds
Returns
Duration object

◆ operator""_ns() [2/2]

time::duration original::literals::operator""_ns ( const unsigned long long val)
inline

Creates nanosecond duration from integer literal.

Parameters
valValue in nanoseconds
Returns
Duration object

◆ operator""_s() [1/2]

time::duration original::literals::operator""_s ( const long double val)
inline

Creates second duration from floating-point literal.

Parameters
valValue in seconds
Returns
Duration object

◆ operator""_s() [2/2]

time::duration original::literals::operator""_s ( const unsigned long long val)
inline

Creates second duration from integer literal.

Parameters
valValue in seconds
Returns
Duration object

◆ operator""_us() [1/2]

time::duration original::literals::operator""_us ( const long double val)
inline

Creates microsecond duration from floating-point literal.

Parameters
valValue in microseconds
Returns
Duration object

◆ operator""_us() [2/2]

time::duration original::literals::operator""_us ( const unsigned long long val)
inline

Creates microsecond duration from integer literal.

Parameters
valValue in microseconds
Returns
Duration object