SI  2.5.4
A header only c++ library that provides type safety and user defined literals for handling physical values defined in the International System of Units.
Classes | Namespaces | Typedefs | Functions
time.h File Reference
#include <chrono>
#include <ratio>
#include "detail/number_parser.h"
#include "detail/unit.h"
#include "detail/unit_symbol.h"
Include dependency graph for time.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SI::unit_symbol< 'T', std::ratio< 1 > >
 
struct  SI::unit_symbol< 'T', std::ratio< 60, 1 > >
 
struct  SI::unit_symbol< 'T', std::ratio< 3600, 1 > >
 
struct  SI::unit_symbol< 'T', _ratio >
 

Namespaces

 SI
 
 SI::detail
 Namespace containing implementation details for SI.
 
 SI::literals
 

Typedefs

template<typename _exponent , typename _type , typename _ratio >
using SI::detail::time_base_t = detail::unit_t< 'T', _exponent, _type, _ratio >
 
template<typename _type , typename _ratio >
using SI::time_t = detail::time_base_t< std::ratio< 1 >, _type, _ratio >
 
template<typename _type , typename _ratio >
using SI::time_squared_t = detail::time_base_t< std::ratio< 2 >, _type, _ratio >
 
template<typename _type >
using SI::atto_seconds_t = time_t< _type, std::atto >
 
template<typename _type >
using SI::femto_seconds_t = time_t< _type, std::femto >
 
template<typename _type >
using SI::pico_seconds_t = time_t< _type, std::pico >
 
template<typename _type >
using SI::nano_seconds_t = time_t< _type, std::nano >
 
template<typename _type >
using SI::micro_seconds_t = time_t< _type, std::chrono::microseconds::period >
 
template<typename _type >
using SI::milli_seconds_t = time_t< _type, std::chrono::milliseconds::period >
 
template<typename _type >
using SI::seconds_t = time_t< _type, std::ratio< 1 > >
 
template<typename _type >
using SI::minutes_t = time_t< _type, std::chrono::minutes::period >
 
template<typename _type >
using SI::hours_t = time_t< _type, std::chrono::hours::period >
 

Functions

template<char... _digits>
constexpr atto_seconds_t< int64_t > SI::literals::operator""_as ()
 
template<char... _digits>
constexpr femto_seconds_t< int64_t > SI::literals::operator""_fs ()
 
template<char... _digits>
constexpr pico_seconds_t< int64_t > SI::literals::operator""_ps ()
 
template<char... _digits>
constexpr nano_seconds_t< int64_t > SI::literals::operator""_ns ()
 
template<char... _digits>
constexpr SI::micro_seconds_t< int64_t > SI::literals::operator""_us ()
 
template<char... _digits>
constexpr SI::milli_seconds_t< int64_t > SI::literals::operator""_ms ()
 
template<char... _digits>
constexpr SI::seconds_t< int64_t > SI::literals::operator""_s ()
 
template<char... _digits>
constexpr SI::minutes_t< int64_t > SI::literals::operator""_min ()
 
template<char... _digits>
constexpr hours_t< int64_t > SI::literals::operator""_h ()
 
constexpr atto_seconds_t< long double > SI::literals::operator""_as (long double value)
 
constexpr femto_seconds_t< long double > SI::literals::operator""_fs (long double value)
 
constexpr pico_seconds_t< long double > SI::literals::operator""_ps (long double value)
 
constexpr nano_seconds_t< long double > SI::literals::operator""_ns (long double value)
 
constexpr SI::micro_seconds_t< long double > SI::literals::operator""_us (long double us)
 
constexpr SI::milli_seconds_t< long double > SI::literals::operator""_ms (long double ms)
 
constexpr SI::seconds_t< long double > SI::literals::operator""_s (long double s)
 
constexpr SI::minutes_t< long double > SI::literals::operator""_min (long double min)
 
constexpr SI::hours_t< long double > SI::literals::operator""_h (long double h)