NumeRe v1.1.4
NumeRe: Framework für Numerische Rechnungen
date.h File Reference
#include <cassert>
#include <algorithm>
#include <cctype>
#include <chrono>
#include <climits>
#include <cmath>
#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <ctime>
#include <ios>
#include <istream>
#include <iterator>
#include <limits>
#include <locale>
#include <memory>
#include <ostream>
#include <ratio>
#include <sstream>
#include <stdexcept>
#include <string>
#include <utility>
#include <type_traits>
Include dependency graph for date.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  date::local_t
 
struct  date::last_spec
 
class  date::day
 
class  date::month
 
class  date::year
 
class  date::weekday
 
class  date::weekday_indexed
 
class  date::weekday_last
 
struct  date::detail::unspecified_month_disambiguator
 
class  date::year_month
 
class  date::month_day
 
class  date::month_day_last
 
class  date::month_weekday
 
class  date::month_weekday_last
 
class  date::year_month_day
 
class  date::year_month_day_last
 
class  date::year_month_weekday
 
class  date::year_month_weekday_last
 
class  date::detail::save_istream< CharT, Traits >
 
class  date::detail::save_ostream< CharT, Traits >
 
struct  date::detail::choose_trunc_type< T >
 
struct  date::detail::static_gcd< Xp, Yp >
 
struct  date::detail::static_gcd< Xp, 0 >
 
struct  date::detail::static_gcd< 0, 0 >
 
struct  date::detail::no_overflow< R1, R2 >
 
struct  date::detail::no_overflow< R1, R2 >::mul< Xp, Yp, overflow >
 
struct  date::detail::no_overflow< R1, R2 >::mul< Xp, Yp, true >
 
struct  date::detail::undocumented
 
struct  date::detail::width< n, d, w, should_continue >
 
struct  date::detail::width< n, d, w, false >
 
struct  date::detail::static_pow10< exp >
 
struct  date::detail::static_pow10< 0 >
 
class  date::detail::decimal_format_seconds< Duration >
 
class  date::hh_mm_ss< Duration >
 
struct  date::fields< Duration >
 
struct  date::detail::rs
 
struct  date::detail::ru
 
struct  date::detail::rld
 
struct  date::parse_manip< Parsable, CharT, Traits, Alloc >
 

Namespaces

namespace  date
 
namespace  date::detail
 
namespace  date::literals
 

Macros

#define HAS_STRING_VIEW   0
 
#define ONLY_C_LOCALE   0
 
#define CONSTDATA   constexpr const
 
#define CONSTCD11   constexpr
 
#define CONSTCD14
 
#define NOEXCEPT   noexcept
 
#define HAS_UNCAUGHT_EXCEPTIONS   0
 
#define HAS_VOID_T   0
 
#define HAS_CHRONO_ROUNDING   0
 

Typedefs

template<typename R1 , typename R2 >
using date::detail::ratio_multiply = decltype(std::ratio_multiply< R1, R2 >{})
 
template<typename R1 , typename R2 >
using date::detail::ratio_divide = decltype(std::ratio_divide< R1, R2 >{})
 
using date::days = std::chrono::duration< int, detail::ratio_multiply< std::ratio< 24 >, std::chrono::hours::period > >
 
using date::weeks = std::chrono::duration< int, detail::ratio_multiply< std::ratio< 7 >, days::period > >
 
using date::years = std::chrono::duration< int, detail::ratio_multiply< std::ratio< 146097, 400 >, days::period > >
 
using date::months = std::chrono::duration< int, detail::ratio_divide< years::period, std::ratio< 12 > > >
 
template<class Duration >
using date::sys_time = std::chrono::time_point< std::chrono::system_clock, Duration >
 
using date::sys_days = sys_time< days >
 
using date::sys_seconds = sys_time< std::chrono::seconds >
 
template<class Duration >
using date::local_time = std::chrono::time_point< local_t, Duration >
 
using date::local_seconds = local_time< std::chrono::seconds >
 
using date::local_days = local_time< days >
 
template<class Duration >
using date::time_of_day = hh_mm_ss< Duration >
 

Functions

CONSTCD11 year_month date::operator/ (const year &y, const month &m) NOEXCEPT
 
CONSTCD11 year_month date::operator/ (const year &y, int m) NOEXCEPT
 
CONSTCD11 month_day date::operator/ (const day &d, const month &m) NOEXCEPT
 
CONSTCD11 month_day date::operator/ (const day &d, int m) NOEXCEPT
 
CONSTCD11 month_day date::operator/ (const month &m, const day &d) NOEXCEPT
 
CONSTCD11 month_day date::operator/ (const month &m, int d) NOEXCEPT
 
CONSTCD11 month_day date::operator/ (int m, const day &d) NOEXCEPT
 
CONSTCD11 month_day_last date::operator/ (const month &m, last_spec) NOEXCEPT
 
CONSTCD11 month_day_last date::operator/ (int m, last_spec) NOEXCEPT
 
CONSTCD11 month_day_last date::operator/ (last_spec, const month &m) NOEXCEPT
 
CONSTCD11 month_day_last date::operator/ (last_spec, int m) NOEXCEPT
 
CONSTCD11 month_weekday date::operator/ (const month &m, const weekday_indexed &wdi) NOEXCEPT
 
CONSTCD11 month_weekday date::operator/ (int m, const weekday_indexed &wdi) NOEXCEPT
 
CONSTCD11 month_weekday date::operator/ (const weekday_indexed &wdi, const month &m) NOEXCEPT
 
CONSTCD11 month_weekday date::operator/ (const weekday_indexed &wdi, int m) NOEXCEPT
 
CONSTCD11 month_weekday_last date::operator/ (const month &m, const weekday_last &wdl) NOEXCEPT
 
CONSTCD11 month_weekday_last date::operator/ (int m, const weekday_last &wdl) NOEXCEPT
 
CONSTCD11 month_weekday_last date::operator/ (const weekday_last &wdl, const month &m) NOEXCEPT
 
CONSTCD11 month_weekday_last date::operator/ (const weekday_last &wdl, int m) NOEXCEPT
 
CONSTCD11 year_month_day date::operator/ (const year_month &ym, const day &d) NOEXCEPT
 
CONSTCD11 year_month_day date::operator/ (const year_month &ym, int d) NOEXCEPT
 
CONSTCD11 year_month_day date::operator/ (const year &y, const month_day &md) NOEXCEPT
 
CONSTCD11 year_month_day date::operator/ (int y, const month_day &md) NOEXCEPT
 
CONSTCD11 year_month_day date::operator/ (const month_day &md, const year &y) NOEXCEPT
 
CONSTCD11 year_month_day date::operator/ (const month_day &md, int y) NOEXCEPT
 
CONSTCD11 year_month_day_last date::operator/ (const year_month &ym, last_spec) NOEXCEPT
 
CONSTCD11 year_month_day_last date::operator/ (const year &y, const month_day_last &mdl) NOEXCEPT
 
CONSTCD11 year_month_day_last date::operator/ (int y, const month_day_last &mdl) NOEXCEPT
 
CONSTCD11 year_month_day_last date::operator/ (const month_day_last &mdl, const year &y) NOEXCEPT
 
CONSTCD11 year_month_day_last date::operator/ (const month_day_last &mdl, int y) NOEXCEPT
 
CONSTCD11 year_month_weekday date::operator/ (const year_month &ym, const weekday_indexed &wdi) NOEXCEPT
 
CONSTCD11 year_month_weekday date::operator/ (const year &y, const month_weekday &mwd) NOEXCEPT
 
CONSTCD11 year_month_weekday date::operator/ (int y, const month_weekday &mwd) NOEXCEPT
 
CONSTCD11 year_month_weekday date::operator/ (const month_weekday &mwd, const year &y) NOEXCEPT
 
CONSTCD11 year_month_weekday date::operator/ (const month_weekday &mwd, int y) NOEXCEPT
 
CONSTCD11 year_month_weekday_last date::operator/ (const year_month &ym, const weekday_last &wdl) NOEXCEPT
 
CONSTCD11 year_month_weekday_last date::operator/ (const year &y, const month_weekday_last &mwdl) NOEXCEPT
 
CONSTCD11 year_month_weekday_last date::operator/ (int y, const month_weekday_last &mwdl) NOEXCEPT
 
CONSTCD11 year_month_weekday_last date::operator/ (const month_weekday_last &mwdl, const year &y) NOEXCEPT
 
CONSTCD11 year_month_weekday_last date::operator/ (const month_weekday_last &mwdl, int y) NOEXCEPT
 
CONSTCD11 bool date::operator== (const day &x, const day &y) NOEXCEPT
 
CONSTCD11 bool date::operator!= (const day &x, const day &y) NOEXCEPT
 
CONSTCD11 bool date::operator< (const day &x, const day &y) NOEXCEPT
 
CONSTCD11 bool date::operator> (const day &x, const day &y) NOEXCEPT
 
CONSTCD11 bool date::operator<= (const day &x, const day &y) NOEXCEPT
 
CONSTCD11 bool date::operator>= (const day &x, const day &y) NOEXCEPT
 
CONSTCD11 day date::operator+ (const day &x, const days &y) NOEXCEPT
 
CONSTCD11 day date::operator+ (const days &x, const day &y) NOEXCEPT
 
CONSTCD11 day date::operator- (const day &x, const days &y) NOEXCEPT
 
CONSTCD11 days date::operator- (const day &x, const day &y) NOEXCEPT
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const day &d)
 
CONSTCD11 bool date::operator== (const month &x, const month &y) NOEXCEPT
 
CONSTCD11 bool date::operator!= (const month &x, const month &y) NOEXCEPT
 
CONSTCD11 bool date::operator< (const month &x, const month &y) NOEXCEPT
 
CONSTCD11 bool date::operator> (const month &x, const month &y) NOEXCEPT
 
CONSTCD11 bool date::operator<= (const month &x, const month &y) NOEXCEPT
 
CONSTCD11 bool date::operator>= (const month &x, const month &y) NOEXCEPT
 
CONSTCD14 month date::operator+ (const month &x, const months &y) NOEXCEPT
 
CONSTCD14 month date::operator+ (const months &x, const month &y) NOEXCEPT
 
CONSTCD14 month date::operator- (const month &x, const months &y) NOEXCEPT
 
CONSTCD14 months date::operator- (const month &x, const month &y) NOEXCEPT
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const month &m)
 
CONSTCD11 bool date::operator== (const year &x, const year &y) NOEXCEPT
 
CONSTCD11 bool date::operator!= (const year &x, const year &y) NOEXCEPT
 
CONSTCD11 bool date::operator< (const year &x, const year &y) NOEXCEPT
 
CONSTCD11 bool date::operator> (const year &x, const year &y) NOEXCEPT
 
CONSTCD11 bool date::operator<= (const year &x, const year &y) NOEXCEPT
 
CONSTCD11 bool date::operator>= (const year &x, const year &y) NOEXCEPT
 
CONSTCD11 year date::operator+ (const year &x, const years &y) NOEXCEPT
 
CONSTCD11 year date::operator+ (const years &x, const year &y) NOEXCEPT
 
CONSTCD11 year date::operator- (const year &x, const years &y) NOEXCEPT
 
CONSTCD11 years date::operator- (const year &x, const year &y) NOEXCEPT
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const year &y)
 
CONSTCD11 bool date::operator== (const weekday &x, const weekday &y) NOEXCEPT
 
CONSTCD11 bool date::operator!= (const weekday &x, const weekday &y) NOEXCEPT
 
CONSTCD14 weekday date::operator+ (const weekday &x, const days &y) NOEXCEPT
 
CONSTCD14 weekday date::operator+ (const days &x, const weekday &y) NOEXCEPT
 
CONSTCD14 weekday date::operator- (const weekday &x, const days &y) NOEXCEPT
 
CONSTCD14 days date::operator- (const weekday &x, const weekday &y) NOEXCEPT
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const weekday &wd)
 
CONSTCD11 bool date::operator== (const weekday_indexed &x, const weekday_indexed &y) NOEXCEPT
 
CONSTCD11 bool date::operator!= (const weekday_indexed &x, const weekday_indexed &y) NOEXCEPT
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const weekday_indexed &wdi)
 
CONSTCD11 bool date::operator== (const weekday_last &x, const weekday_last &y) NOEXCEPT
 
CONSTCD11 bool date::operator!= (const weekday_last &x, const weekday_last &y) NOEXCEPT
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const weekday_last &wdl)
 
CONSTCD11 bool date::operator== (const year_month &x, const year_month &y) NOEXCEPT
 
CONSTCD11 bool date::operator!= (const year_month &x, const year_month &y) NOEXCEPT
 
CONSTCD11 bool date::operator< (const year_month &x, const year_month &y) NOEXCEPT
 
CONSTCD11 bool date::operator> (const year_month &x, const year_month &y) NOEXCEPT
 
CONSTCD11 bool date::operator<= (const year_month &x, const year_month &y) NOEXCEPT
 
CONSTCD11 bool date::operator>= (const year_month &x, const year_month &y) NOEXCEPT
 
template<class = detail::unspecified_month_disambiguator>
CONSTCD14 year_month date::operator+ (const year_month &ym, const months &dm) NOEXCEPT
 
template<class = detail::unspecified_month_disambiguator>
CONSTCD14 year_month date::operator+ (const months &dm, const year_month &ym) NOEXCEPT
 
template<class = detail::unspecified_month_disambiguator>
CONSTCD14 year_month date::operator- (const year_month &ym, const months &dm) NOEXCEPT
 
CONSTCD11 months date::operator- (const year_month &x, const year_month &y) NOEXCEPT
 
CONSTCD11 year_month date::operator+ (const year_month &ym, const years &dy) NOEXCEPT
 
CONSTCD11 year_month date::operator+ (const years &dy, const year_month &ym) NOEXCEPT
 
CONSTCD11 year_month date::operator- (const year_month &ym, const years &dy) NOEXCEPT
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const year_month &ym)
 
CONSTCD11 bool date::operator== (const month_day &x, const month_day &y) NOEXCEPT
 
CONSTCD11 bool date::operator!= (const month_day &x, const month_day &y) NOEXCEPT
 
CONSTCD11 bool date::operator< (const month_day &x, const month_day &y) NOEXCEPT
 
CONSTCD11 bool date::operator> (const month_day &x, const month_day &y) NOEXCEPT
 
CONSTCD11 bool date::operator<= (const month_day &x, const month_day &y) NOEXCEPT
 
CONSTCD11 bool date::operator>= (const month_day &x, const month_day &y) NOEXCEPT
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const month_day &md)
 
CONSTCD11 bool date::operator== (const month_day_last &x, const month_day_last &y) NOEXCEPT
 
CONSTCD11 bool date::operator!= (const month_day_last &x, const month_day_last &y) NOEXCEPT
 
CONSTCD11 bool date::operator< (const month_day_last &x, const month_day_last &y) NOEXCEPT
 
CONSTCD11 bool date::operator> (const month_day_last &x, const month_day_last &y) NOEXCEPT
 
CONSTCD11 bool date::operator<= (const month_day_last &x, const month_day_last &y) NOEXCEPT
 
CONSTCD11 bool date::operator>= (const month_day_last &x, const month_day_last &y) NOEXCEPT
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const month_day_last &mdl)
 
CONSTCD11 bool date::operator== (const month_weekday &x, const month_weekday &y) NOEXCEPT
 
CONSTCD11 bool date::operator!= (const month_weekday &x, const month_weekday &y) NOEXCEPT
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const month_weekday &mwd)
 
CONSTCD11 bool date::operator== (const month_weekday_last &x, const month_weekday_last &y) NOEXCEPT
 
CONSTCD11 bool date::operator!= (const month_weekday_last &x, const month_weekday_last &y) NOEXCEPT
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const month_weekday_last &mwdl)
 
CONSTCD11 bool date::operator== (const year_month_day &x, const year_month_day &y) NOEXCEPT
 
CONSTCD11 bool date::operator!= (const year_month_day &x, const year_month_day &y) NOEXCEPT
 
CONSTCD11 bool date::operator< (const year_month_day &x, const year_month_day &y) NOEXCEPT
 
CONSTCD11 bool date::operator> (const year_month_day &x, const year_month_day &y) NOEXCEPT
 
CONSTCD11 bool date::operator<= (const year_month_day &x, const year_month_day &y) NOEXCEPT
 
CONSTCD11 bool date::operator>= (const year_month_day &x, const year_month_day &y) NOEXCEPT
 
template<class = detail::unspecified_month_disambiguator>
CONSTCD14 year_month_day date::operator+ (const year_month_day &ymd, const months &dm) NOEXCEPT
 
template<class = detail::unspecified_month_disambiguator>
CONSTCD14 year_month_day date::operator+ (const months &dm, const year_month_day &ymd) NOEXCEPT
 
template<class = detail::unspecified_month_disambiguator>
CONSTCD14 year_month_day date::operator- (const year_month_day &ymd, const months &dm) NOEXCEPT
 
CONSTCD11 year_month_day date::operator+ (const year_month_day &ymd, const years &dy) NOEXCEPT
 
CONSTCD11 year_month_day date::operator+ (const years &dy, const year_month_day &ymd) NOEXCEPT
 
CONSTCD11 year_month_day date::operator- (const year_month_day &ymd, const years &dy) NOEXCEPT
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const year_month_day &ymd)
 
CONSTCD11 bool date::operator== (const year_month_day_last &x, const year_month_day_last &y) NOEXCEPT
 
CONSTCD11 bool date::operator!= (const year_month_day_last &x, const year_month_day_last &y) NOEXCEPT
 
CONSTCD11 bool date::operator< (const year_month_day_last &x, const year_month_day_last &y) NOEXCEPT
 
CONSTCD11 bool date::operator> (const year_month_day_last &x, const year_month_day_last &y) NOEXCEPT
 
CONSTCD11 bool date::operator<= (const year_month_day_last &x, const year_month_day_last &y) NOEXCEPT
 
CONSTCD11 bool date::operator>= (const year_month_day_last &x, const year_month_day_last &y) NOEXCEPT
 
template<class = detail::unspecified_month_disambiguator>
CONSTCD14 year_month_day_last date::operator+ (const year_month_day_last &ymdl, const months &dm) NOEXCEPT
 
template<class = detail::unspecified_month_disambiguator>
CONSTCD14 year_month_day_last date::operator+ (const months &dm, const year_month_day_last &ymdl) NOEXCEPT
 
CONSTCD11 year_month_day_last date::operator+ (const year_month_day_last &ymdl, const years &dy) NOEXCEPT
 
CONSTCD11 year_month_day_last date::operator+ (const years &dy, const year_month_day_last &ymdl) NOEXCEPT
 
template<class = detail::unspecified_month_disambiguator>
CONSTCD14 year_month_day_last date::operator- (const year_month_day_last &ymdl, const months &dm) NOEXCEPT
 
CONSTCD11 year_month_day_last date::operator- (const year_month_day_last &ymdl, const years &dy) NOEXCEPT
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const year_month_day_last &ymdl)
 
CONSTCD11 bool date::operator== (const year_month_weekday &x, const year_month_weekday &y) NOEXCEPT
 
CONSTCD11 bool date::operator!= (const year_month_weekday &x, const year_month_weekday &y) NOEXCEPT
 
template<class = detail::unspecified_month_disambiguator>
CONSTCD14 year_month_weekday date::operator+ (const year_month_weekday &ymwd, const months &dm) NOEXCEPT
 
template<class = detail::unspecified_month_disambiguator>
CONSTCD14 year_month_weekday date::operator+ (const months &dm, const year_month_weekday &ymwd) NOEXCEPT
 
CONSTCD11 year_month_weekday date::operator+ (const year_month_weekday &ymwd, const years &dy) NOEXCEPT
 
CONSTCD11 year_month_weekday date::operator+ (const years &dy, const year_month_weekday &ymwd) NOEXCEPT
 
template<class = detail::unspecified_month_disambiguator>
CONSTCD14 year_month_weekday date::operator- (const year_month_weekday &ymwd, const months &dm) NOEXCEPT
 
CONSTCD11 year_month_weekday date::operator- (const year_month_weekday &ymwd, const years &dy) NOEXCEPT
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const year_month_weekday &ymwdi)
 
CONSTCD11 bool date::operator== (const year_month_weekday_last &x, const year_month_weekday_last &y) NOEXCEPT
 
CONSTCD11 bool date::operator!= (const year_month_weekday_last &x, const year_month_weekday_last &y) NOEXCEPT
 
template<class = detail::unspecified_month_disambiguator>
CONSTCD14 year_month_weekday_last date::operator+ (const year_month_weekday_last &ymwdl, const months &dm) NOEXCEPT
 
template<class = detail::unspecified_month_disambiguator>
CONSTCD14 year_month_weekday_last date::operator+ (const months &dm, const year_month_weekday_last &ymwdl) NOEXCEPT
 
CONSTCD11 year_month_weekday_last date::operator+ (const year_month_weekday_last &ymwdl, const years &dy) NOEXCEPT
 
CONSTCD11 year_month_weekday_last date::operator+ (const years &dy, const year_month_weekday_last &ymwdl) NOEXCEPT
 
template<class = detail::unspecified_month_disambiguator>
CONSTCD14 year_month_weekday_last date::operator- (const year_month_weekday_last &ymwdl, const months &dm) NOEXCEPT
 
CONSTCD11 year_month_weekday_last date::operator- (const year_month_weekday_last &ymwdl, const years &dy) NOEXCEPT
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const year_month_weekday_last &ymwdl)
 
CONSTCD11 date::day date::literals::operator""_d (unsigned long long d) NOEXCEPT
 
CONSTCD11 date::year date::literals::operator""_y (unsigned long long y) NOEXCEPT
 
template<class T >
CONSTCD11 std::enable_if<!std::chrono::treat_as_floating_point< T >::value, T >::type date::detail::trunc (T t) NOEXCEPT
 
template<class T >
CONSTCD14 std::enable_if< std::chrono::treat_as_floating_point< T >::value, T >::type date::detail::trunc (T t) NOEXCEPT
 
template<class To , class Rep , class Period >
CONSTCD11 std::enable_if< detail::no_overflow< Period, typenameTo::period >::value, To >::type date::trunc (const std::chrono::duration< Rep, Period > &d)
 
template<class To , class Rep , class Period >
CONSTCD11 std::enable_if<!detail::no_overflow< Period, typenameTo::period >::value, To >::type date::trunc (const std::chrono::duration< Rep, Period > &d)
 
template<class To , class Rep , class Period >
CONSTCD14 std::enable_if< detail::no_overflow< Period, typenameTo::period >::value, To >::type date::floor (const std::chrono::duration< Rep, Period > &d)
 
template<class To , class Rep , class Period >
CONSTCD14 std::enable_if<!detail::no_overflow< Period, typenameTo::period >::value, To >::type date::floor (const std::chrono::duration< Rep, Period > &d)
 
template<class To , class Rep , class Period >
CONSTCD14 To date::round (const std::chrono::duration< Rep, Period > &d)
 
template<class To , class Rep , class Period >
CONSTCD14 To date::ceil (const std::chrono::duration< Rep, Period > &d)
 
template<class Rep , class Period , class = typename std::enable_if < std::numeric_limits<Rep>::is_signed >::type>
CONSTCD11 std::chrono::duration< Rep, Period > date::abs (std::chrono::duration< Rep, Period > d)
 
template<class To , class Clock , class FromDuration >
CONSTCD11 std::chrono::time_point< Clock, To > date::floor (const std::chrono::time_point< Clock, FromDuration > &tp)
 
template<class To , class Clock , class FromDuration >
CONSTCD11 std::chrono::time_point< Clock, To > date::round (const std::chrono::time_point< Clock, FromDuration > &tp)
 
template<class To , class Clock , class FromDuration >
CONSTCD11 std::chrono::time_point< Clock, To > date::ceil (const std::chrono::time_point< Clock, FromDuration > &tp)
 
template<class To , class Rep , class Period >
CONSTCD14 std::enable_if<!std::chrono::treat_as_floating_point< typenameTo::rep >::value, To >::type date::detail::round_i (const std::chrono::duration< Rep, Period > &d)
 
template<class To , class Rep , class Period >
CONSTCD14 std::enable_if< std::chrono::treat_as_floating_point< typenameTo::rep >::value, To >::type date::detail::round_i (const std::chrono::duration< Rep, Period > &d)
 
template<class To , class Clock , class FromDuration >
CONSTCD11 std::chrono::time_point< Clock, To > date::detail::round_i (const std::chrono::time_point< Clock, FromDuration > &tp)
 
template<class To , class Clock , class FromDuration >
CONSTCD11 std::chrono::time_point< Clock, To > date::trunc (const std::chrono::time_point< Clock, FromDuration > &tp)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::detail::low_level_fmt (std::basic_ostream< CharT, Traits > &os, const day &d)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::detail::low_level_fmt (std::basic_ostream< CharT, Traits > &os, const month &m)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::detail::low_level_fmt (std::basic_ostream< CharT, Traits > &os, const year &y)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::detail::low_level_fmt (std::basic_ostream< CharT, Traits > &os, const weekday &wd)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::detail::low_level_fmt (std::basic_ostream< CharT, Traits > &os, const weekday_indexed &wdi)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::detail::low_level_fmt (std::basic_ostream< CharT, Traits > &os, const weekday_last &wdl)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::detail::low_level_fmt (std::basic_ostream< CharT, Traits > &os, const year_month &ym)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::detail::low_level_fmt (std::basic_ostream< CharT, Traits > &os, const month_day &md)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::detail::low_level_fmt (std::basic_ostream< CharT, Traits > &os, const month_day_last &mdl)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::detail::low_level_fmt (std::basic_ostream< CharT, Traits > &os, const month_weekday &mwd)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::detail::low_level_fmt (std::basic_ostream< CharT, Traits > &os, const month_weekday_last &mwdl)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::detail::low_level_fmt (std::basic_ostream< CharT, Traits > &os, const year_month_day_last &ymdl)
 
template<class CharT , class Traits , class Duration >
std::basic_ostream< CharT, Traits > & date::to_stream (std::basic_ostream< CharT, Traits > &os, const CharT *fmt, const fields< Duration > &fds, const std::string *abbrev=nullptr, const std::chrono::seconds *offset_sec=nullptr)
 
template<class CharT , class Traits , class Duration , class Alloc >
std::basic_istream< CharT, Traits > & date::from_stream (std::basic_istream< CharT, Traits > &is, const CharT *fmt, fields< Duration > &fds, std::basic_string< CharT, Traits, Alloc > *abbrev=nullptr, std::chrono::minutes *offset=nullptr)
 
template<class Rep , class Period >
CONSTCD11 std::enable_if< std::numeric_limits< Rep >::is_signed, std::chrono::duration< Rep, Period > >::type date::detail::abs (std::chrono::duration< Rep, Period > d)
 
template<class Rep , class Period >
CONSTCD11 std::enable_if<!std::numeric_limits< Rep >::is_signed, std::chrono::duration< Rep, Period > >::type date::detail::abs (std::chrono::duration< Rep, Period > d)
 
CONSTCD14 bool date::is_am (std::chrono::hours const &h) NOEXCEPT
 
CONSTCD14 bool date::is_pm (std::chrono::hours const &h) NOEXCEPT
 
CONSTCD14 std::chrono::hours date::make12 (std::chrono::hours h) NOEXCEPT
 
CONSTCD14 std::chrono::hours date::make24 (std::chrono::hours h, bool is_pm) NOEXCEPT
 
template<class Rep , class Period >
CONSTCD11 hh_mm_ss< std::chrono::duration< Rep, Period > > date::make_time (const std::chrono::duration< Rep, Period > &d)
 
template<class CharT , class Traits , class Duration >
std::enable_if< std::ratio_less< typenameDuration::period, days::period >::value, std::basic_ostream< CharT, Traits > & >::type date::operator<< (std::basic_ostream< CharT, Traits > &os, const sys_time< Duration > &tp)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const sys_days &dp)
 
template<class CharT , class Traits , class Duration >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const local_time< Duration > &ut)
 
template<class CharT , class Traits , class Duration >
unsigned date::detail::extract_weekday (std::basic_ostream< CharT, Traits > &os, const fields< Duration > &fds)
 
template<class CharT , class Traits , class Duration >
unsigned date::detail::extract_month (std::basic_ostream< CharT, Traits > &os, const fields< Duration > &fds)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::to_stream (std::basic_ostream< CharT, Traits > &os, const CharT *fmt, const year &y)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::to_stream (std::basic_ostream< CharT, Traits > &os, const CharT *fmt, const month &m)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::to_stream (std::basic_ostream< CharT, Traits > &os, const CharT *fmt, const day &d)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::to_stream (std::basic_ostream< CharT, Traits > &os, const CharT *fmt, const weekday &wd)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::to_stream (std::basic_ostream< CharT, Traits > &os, const CharT *fmt, const year_month &ym)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::to_stream (std::basic_ostream< CharT, Traits > &os, const CharT *fmt, const month_day &md)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & date::to_stream (std::basic_ostream< CharT, Traits > &os, const CharT *fmt, const year_month_day &ymd)
 
template<class CharT , class Traits , class Rep , class Period >
std::basic_ostream< CharT, Traits > & date::to_stream (std::basic_ostream< CharT, Traits > &os, const CharT *fmt, const std::chrono::duration< Rep, Period > &d)
 
template<class CharT , class Traits , class Duration >
std::basic_ostream< CharT, Traits > & date::to_stream (std::basic_ostream< CharT, Traits > &os, const CharT *fmt, const local_time< Duration > &tp, const std::string *abbrev=nullptr, const std::chrono::seconds *offset_sec=nullptr)
 
template<class CharT , class Traits , class Duration >
std::basic_ostream< CharT, Traits > & date::to_stream (std::basic_ostream< CharT, Traits > &os, const CharT *fmt, const sys_time< Duration > &tp)
 
template<class CharT , class Streamable >
auto date::format (const std::locale &loc, const CharT *fmt, const Streamable &tp) -> decltype(to_stream(std::declval< std::basic_ostream< CharT > & >(), fmt, tp), std::basic_string< CharT >{})
 
template<class CharT , class Streamable >
auto date::format (const CharT *fmt, const Streamable &tp) -> decltype(to_stream(std::declval< std::basic_ostream< CharT > & >(), fmt, tp), std::basic_string< CharT >{})
 
template<class CharT , class Traits , class Alloc , class Streamable >
auto date::format (const std::locale &loc, const std::basic_string< CharT, Traits, Alloc > &fmt, const Streamable &tp) -> decltype(to_stream(std::declval< std::basic_ostream< CharT, Traits > & >(), fmt.c_str(), tp), std::basic_string< CharT, Traits, Alloc >{})
 
template<class CharT , class Traits , class Alloc , class Streamable >
auto date::format (const std::basic_string< CharT, Traits, Alloc > &fmt, const Streamable &tp) -> decltype(to_stream(std::declval< std::basic_ostream< CharT, Traits > & >(), fmt.c_str(), tp), std::basic_string< CharT, Traits, Alloc >{})
 
template<class CharT , class Traits >
bool date::detail::read_char (std::basic_istream< CharT, Traits > &is, CharT fmt, std::ios::iostate &err)
 
template<class CharT , class Traits >
unsigned date::detail::read_unsigned (std::basic_istream< CharT, Traits > &is, unsigned m=1, unsigned M=10)
 
template<class CharT , class Traits >
int date::detail::read_signed (std::basic_istream< CharT, Traits > &is, unsigned m=1, unsigned M=10)
 
template<class CharT , class Traits >
long double date::detail::read_long_double (std::basic_istream< CharT, Traits > &is, unsigned m=1, unsigned M=10)
 
template<class CharT , class Traits >
void date::detail::read (std::basic_istream< CharT, Traits > &)
 
template<class CharT , class Traits , class ... Args>
void date::detail::read (std::basic_istream< CharT, Traits > &is, CharT a0, Args &&...args)
 
template<class CharT , class Traits , class ... Args>
void date::detail::read (std::basic_istream< CharT, Traits > &is, rs a0, Args &&...args)
 
template<class CharT , class Traits , class ... Args>
void date::detail::read (std::basic_istream< CharT, Traits > &is, ru a0, Args &&...args)
 
template<class CharT , class Traits , class ... Args>
void date::detail::read (std::basic_istream< CharT, Traits > &is, int a0, Args &&...args)
 
template<class CharT , class Traits , class ... Args>
void date::detail::read (std::basic_istream< CharT, Traits > &is, rld a0, Args &&...args)
 
template<class T , class CharT , class Traits >
void date::detail::checked_set (T &value, T from, T not_a_value, std::basic_ios< CharT, Traits > &is)
 
template<class CharT , class Traits , class Alloc = std::allocator<CharT>>
std::basic_istream< CharT, Traits > & date::from_stream (std::basic_istream< CharT, Traits > &is, const CharT *fmt, year &y, std::basic_string< CharT, Traits, Alloc > *abbrev=nullptr, std::chrono::minutes *offset=nullptr)
 
template<class CharT , class Traits , class Alloc = std::allocator<CharT>>
std::basic_istream< CharT, Traits > & date::from_stream (std::basic_istream< CharT, Traits > &is, const CharT *fmt, month &m, std::basic_string< CharT, Traits, Alloc > *abbrev=nullptr, std::chrono::minutes *offset=nullptr)
 
template<class CharT , class Traits , class Alloc = std::allocator<CharT>>
std::basic_istream< CharT, Traits > & date::from_stream (std::basic_istream< CharT, Traits > &is, const CharT *fmt, day &d, std::basic_string< CharT, Traits, Alloc > *abbrev=nullptr, std::chrono::minutes *offset=nullptr)
 
template<class CharT , class Traits , class Alloc = std::allocator<CharT>>
std::basic_istream< CharT, Traits > & date::from_stream (std::basic_istream< CharT, Traits > &is, const CharT *fmt, weekday &wd, std::basic_string< CharT, Traits, Alloc > *abbrev=nullptr, std::chrono::minutes *offset=nullptr)
 
template<class CharT , class Traits , class Alloc = std::allocator<CharT>>
std::basic_istream< CharT, Traits > & date::from_stream (std::basic_istream< CharT, Traits > &is, const CharT *fmt, year_month &ym, std::basic_string< CharT, Traits, Alloc > *abbrev=nullptr, std::chrono::minutes *offset=nullptr)
 
template<class CharT , class Traits , class Alloc = std::allocator<CharT>>
std::basic_istream< CharT, Traits > & date::from_stream (std::basic_istream< CharT, Traits > &is, const CharT *fmt, month_day &md, std::basic_string< CharT, Traits, Alloc > *abbrev=nullptr, std::chrono::minutes *offset=nullptr)
 
template<class CharT , class Traits , class Alloc = std::allocator<CharT>>
std::basic_istream< CharT, Traits > & date::from_stream (std::basic_istream< CharT, Traits > &is, const CharT *fmt, year_month_day &ymd, std::basic_string< CharT, Traits, Alloc > *abbrev=nullptr, std::chrono::minutes *offset=nullptr)
 
template<class Duration , class CharT , class Traits , class Alloc = std::allocator<CharT>>
std::basic_istream< CharT, Traits > & date::from_stream (std::basic_istream< CharT, Traits > &is, const CharT *fmt, sys_time< Duration > &tp, std::basic_string< CharT, Traits, Alloc > *abbrev=nullptr, std::chrono::minutes *offset=nullptr)
 
template<class Duration , class CharT , class Traits , class Alloc = std::allocator<CharT>>
std::basic_istream< CharT, Traits > & date::from_stream (std::basic_istream< CharT, Traits > &is, const CharT *fmt, local_time< Duration > &tp, std::basic_string< CharT, Traits, Alloc > *abbrev=nullptr, std::chrono::minutes *offset=nullptr)
 
template<class Rep , class Period , class CharT , class Traits , class Alloc = std::allocator<CharT>>
std::basic_istream< CharT, Traits > & date::from_stream (std::basic_istream< CharT, Traits > &is, const CharT *fmt, std::chrono::duration< Rep, Period > &d, std::basic_string< CharT, Traits, Alloc > *abbrev=nullptr, std::chrono::minutes *offset=nullptr)
 
template<class Parsable , class CharT , class Traits , class Alloc >
std::basic_istream< CharT, Traits > & date::operator>> (std::basic_istream< CharT, Traits > &is, const parse_manip< Parsable, CharT, Traits, Alloc > &x)
 
template<class Parsable , class CharT , class Traits , class Alloc >
auto date::parse (const std::basic_string< CharT, Traits, Alloc > &format, Parsable &tp) -> decltype(date::from_stream(std::declval< std::basic_istream< CharT, Traits > & >(), format.c_str(), tp), parse_manip< Parsable, CharT, Traits, Alloc >{format, tp})
 
template<class Parsable , class CharT , class Traits , class Alloc >
auto date::parse (const std::basic_string< CharT, Traits, Alloc > &format, Parsable &tp, std::basic_string< CharT, Traits, Alloc > &abbrev) -> decltype(date::from_stream(std::declval< std::basic_istream< CharT, Traits > & >(), format.c_str(), tp, &abbrev), parse_manip< Parsable, CharT, Traits, Alloc >{format, tp, &abbrev})
 
template<class Parsable , class CharT , class Traits , class Alloc >
auto date::parse (const std::basic_string< CharT, Traits, Alloc > &format, Parsable &tp, std::chrono::minutes &offset) -> decltype(date::from_stream(std::declval< std::basic_istream< CharT, Traits > & >(), format.c_str(), tp, std::declval< std::basic_string< CharT, Traits, Alloc > * >(), &offset), parse_manip< Parsable, CharT, Traits, Alloc >{format, tp, nullptr, &offset})
 
template<class Parsable , class CharT , class Traits , class Alloc >
auto date::parse (const std::basic_string< CharT, Traits, Alloc > &format, Parsable &tp, std::basic_string< CharT, Traits, Alloc > &abbrev, std::chrono::minutes &offset) -> decltype(date::from_stream(std::declval< std::basic_istream< CharT, Traits > & >(), format.c_str(), tp, &abbrev, &offset), parse_manip< Parsable, CharT, Traits, Alloc >{format, tp, &abbrev, &offset})
 
template<class Parsable , class CharT >
auto date::parse (const CharT *format, Parsable &tp) -> decltype(date::from_stream(std::declval< std::basic_istream< CharT > & >(), format, tp), parse_manip< Parsable, CharT >{format, tp})
 
template<class Parsable , class CharT , class Traits , class Alloc >
auto date::parse (const CharT *format, Parsable &tp, std::basic_string< CharT, Traits, Alloc > &abbrev) -> decltype(date::from_stream(std::declval< std::basic_istream< CharT, Traits > & >(), format, tp, &abbrev), parse_manip< Parsable, CharT, Traits, Alloc >{format, tp, &abbrev})
 
template<class Parsable , class CharT >
auto date::parse (const CharT *format, Parsable &tp, std::chrono::minutes &offset) -> decltype(date::from_stream(std::declval< std::basic_istream< CharT > & >(), format, tp, std::declval< std::basic_string< CharT > * >(), &offset), parse_manip< Parsable, CharT >{format, tp, nullptr, &offset})
 
template<class Parsable , class CharT , class Traits , class Alloc >
auto date::parse (const CharT *format, Parsable &tp, std::basic_string< CharT, Traits, Alloc > &abbrev, std::chrono::minutes &offset) -> decltype(date::from_stream(std::declval< std::basic_istream< CharT, Traits > & >(), format, tp, &abbrev, &offset), parse_manip< Parsable, CharT, Traits, Alloc >{format, tp, &abbrev, &offset})
 
template<class CharT , class Traits , class Rep , class Period >
std::basic_ostream< CharT, Traits > & date::operator<< (std::basic_ostream< CharT, Traits > &os, const std::chrono::duration< Rep, Period > &d)
 

Variables

CONSTDATA date::last_spec date::literals::last {}
 
CONSTDATA date::month date::literals::jan {1}
 
CONSTDATA date::month date::literals::feb {2}
 
CONSTDATA date::month date::literals::mar {3}
 
CONSTDATA date::month date::literals::apr {4}
 
CONSTDATA date::month date::literals::may {5}
 
CONSTDATA date::month date::literals::jun {6}
 
CONSTDATA date::month date::literals::jul {7}
 
CONSTDATA date::month date::literals::aug {8}
 
CONSTDATA date::month date::literals::sep {9}
 
CONSTDATA date::month date::literals::oct {10}
 
CONSTDATA date::month date::literals::nov {11}
 
CONSTDATA date::month date::literals::dec {12}
 
CONSTDATA date::weekday date::literals::sun {0u}
 
CONSTDATA date::weekday date::literals::mon {1u}
 
CONSTDATA date::weekday date::literals::tue {2u}
 
CONSTDATA date::weekday date::literals::wed {3u}
 
CONSTDATA date::weekday date::literals::thu {4u}
 
CONSTDATA date::weekday date::literals::fri {5u}
 
CONSTDATA date::weekday date::literals::sat {6u}
 
CONSTDATA date::month date::January {1}
 
CONSTDATA date::month date::February {2}
 
CONSTDATA date::month date::March {3}
 
CONSTDATA date::month date::April {4}
 
CONSTDATA date::month date::May {5}
 
CONSTDATA date::month date::June {6}
 
CONSTDATA date::month date::July {7}
 
CONSTDATA date::month date::August {8}
 
CONSTDATA date::month date::September {9}
 
CONSTDATA date::month date::October {10}
 
CONSTDATA date::month date::November {11}
 
CONSTDATA date::month date::December {12}
 
CONSTDATA date::weekday date::Monday {1}
 
CONSTDATA date::weekday date::Tuesday {2}
 
CONSTDATA date::weekday date::Wednesday {3}
 
CONSTDATA date::weekday date::Thursday {4}
 
CONSTDATA date::weekday date::Friday {5}
 
CONSTDATA date::weekday date::Saturday {6}
 
CONSTDATA date::weekday date::Sunday {7}
 
CONSTDATA year date::nanyear {-32768}
 

Macro Definition Documentation

◆ CONSTCD11

#define CONSTCD11   constexpr

Definition at line 133 of file date.h.

◆ CONSTCD14

#define CONSTCD14

Definition at line 134 of file date.h.

◆ CONSTDATA

#define CONSTDATA   constexpr const

Definition at line 132 of file date.h.

◆ HAS_CHRONO_ROUNDING

#define HAS_CHRONO_ROUNDING   0

Definition at line 1236 of file date.h.

◆ HAS_STRING_VIEW

#define HAS_STRING_VIEW   0

Definition at line 39 of file date.h.

◆ HAS_UNCAUGHT_EXCEPTIONS

#define HAS_UNCAUGHT_EXCEPTIONS   0

Definition at line 142 of file date.h.

◆ HAS_VOID_T

#define HAS_VOID_T   0

Definition at line 150 of file date.h.

◆ NOEXCEPT

#define NOEXCEPT   noexcept

Definition at line 135 of file date.h.

◆ ONLY_C_LOCALE

#define ONLY_C_LOCALE   0

Definition at line 95 of file date.h.