Dynalib Utils
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
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
 
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_stream< 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::fields< Duration >
 
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 >
 
struct  date::detail::make_precision< Rep, w, in_range >
 
struct  date::detail::make_precision< Rep, w, false >
 
class  date::detail::decimal_format_seconds< Duration, w >
 
class  date::detail::decimal_format_seconds< Duration, 0 >
 
struct  date::detail::classify_duration< Duration >
 
class  date::detail::time_of_day_base
 
class  date::detail::time_of_day_storage< Duration, classify >
 
class  date::detail::time_of_day_storage< std::chrono::duration< Rep, Period >, detail::classify::hour >
 
class  date::detail::time_of_day_storage< std::chrono::duration< Rep, Period >, detail::classify::minute >
 
class  date::detail::time_of_day_storage< std::chrono::duration< Rep, Period >, detail::classify::second >
 
class  date::detail::time_of_day_storage< std::chrono::duration< Rep, Period >, detail::classify::subsecond >
 
class  date::time_of_day< 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 >
 
struct  date::detail::make_string< CharT, Traits >
 
struct  date::detail::make_string< char >
 
struct  date::detail::make_string< char, Traits >
 
struct  date::detail::make_string< wchar_t >
 
struct  date::detail::make_string< wchar_t, Traits >
 

Namespaces

 date
 
 date::literals
 
 date::detail
 

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_VOID_T   0
 
#define HAS_CHRONO_ROUNDING   0
 

Typedefs

using date::days = std::chrono::duration< int, std::ratio_multiply< std::ratio< 24 >, std::chrono::hours::period > >
 
using date::weeks = std::chrono::duration< int, std::ratio_multiply< std::ratio< 7 >, days::period > >
 
using date::years = std::chrono::duration< int, std::ratio_multiply< std::ratio< 146097, 400 >, days::period > >
 
using date::months = std::chrono::duration< int, std::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 >
 

Enumerations

enum  { date::am = 1, date::pm }
 
enum  date::detail::classify {
  date::detail::classify::not_valid, date::detail::classify::hour, date::detail::classify::minute, date::detail::classify::second,
  date::detail::classify::subsecond
}
 

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
 
CONSTCD14 year_month date::operator+ (const year_month &ym, const months &dm) NOEXCEPT
 
CONSTCD14 year_month date::operator+ (const months &dm, const year_month &ym) NOEXCEPT
 
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
 
CONSTCD14 year_month_day date::operator+ (const year_month_day &ymd, const months &dm) NOEXCEPT
 
CONSTCD14 year_month_day date::operator+ (const months &dm, const year_month_day &ymd) NOEXCEPT
 
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
 
CONSTCD14 year_month_day_last date::operator+ (const year_month_day_last &ymdl, const months &dm) NOEXCEPT
 
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
 
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
 
CONSTCD14 year_month_weekday date::operator+ (const year_month_weekday &ymwd, const months &dm) NOEXCEPT
 
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
 
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
 
CONSTCD14 year_month_weekday_last date::operator+ (const year_month_weekday_last &ymwdl, const months &dm) NOEXCEPT
 
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
 
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, typename To::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, typename To::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, typename To::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, typename To::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 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 , 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)
 
template<class Rep , class Period , class = typename std::enable_if <!std::chrono::treat_as_floating_point<Rep>::value>::type>
CONSTCD11 time_of_day< std::chrono::duration< Rep, Period > > date::make_time (const std::chrono::duration< Rep, Period > &d)
 
CONSTCD11 time_of_day< std::chrono::hours > date::make_time (const std::chrono::hours &h, unsigned md)
 
CONSTCD11 time_of_day< std::chrono::minutes > date::make_time (const std::chrono::hours &h, const std::chrono::minutes &m, unsigned md)
 
CONSTCD11 time_of_day< std::chrono::seconds > date::make_time (const std::chrono::hours &h, const std::chrono::minutes &m, const std::chrono::seconds &s, unsigned md)
 
template<class Rep , class Period , class = typename std::enable_if<std::ratio_less<Period, std::ratio<1>>::value>::type>
CONSTCD11 time_of_day< std::chrono::duration< Rep, Period > > date::make_time (const std::chrono::hours &h, const std::chrono::minutes &m, const std::chrono::seconds &s, const std::chrono::duration< Rep, Period > &sub_s, unsigned md)
 
template<class CharT , class Traits , class Duration >
std::enable_if< !std::chrono::treat_as_floating_point< typename Duration::rep >::value &&std::ratio_less< typename Duration::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 >
 
os date::exceptions (std::ios::failbit|std::ios::badbit)
 
os date::imbue (loc)
 
 date::to_stream (os, fmt, tp)
 
return os date::str ()
 
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 >
 
 date::to_stream (os, fmt.c_str(), tp)
 
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 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(from_stream(std::declval< std::basic_istream< CharT, Traits > &>(), format.c_str(), tp), parse_manip< Parsable, CharT, Traits, Alloc >
 
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(from_stream(std::declval< std::basic_istream< CharT, Traits > &>(), format.c_str(), tp, &abbrev), parse_manip< Parsable, CharT, Traits, Alloc >
 
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(from_stream(std::declval< std::basic_istream< CharT, Traits > &>(), format.c_str(), tp, nullptr, &offset), parse_manip< Parsable, CharT, Traits, Alloc >
 
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(from_stream(std::declval< std::basic_istream< CharT, Traits > &>(), format.c_str(), tp, &abbrev, &offset), parse_manip< Parsable, CharT, Traits, Alloc >
 
template<class Parsable , class CharT >
auto date::parse (const CharT *format, Parsable &tp) -> decltype(from_stream(std::declval< std::basic_istream< CharT > &>(), format, tp), parse_manip< Parsable, CharT >
 
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(from_stream(std::declval< std::basic_istream< CharT, Traits > &>(), format, tp, &abbrev), parse_manip< Parsable, CharT, Traits, Alloc >
 
template<class Parsable , class CharT >
auto date::parse (const CharT *format, Parsable &tp, std::chrono::minutes &offset) -> decltype(from_stream(std::declval< std::basic_istream< CharT > &>(), format, tp, nullptr, &offset), parse_manip< Parsable, CharT >
 
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(from_stream(std::declval< std::basic_istream< CharT, Traits > &>(), format, tp, &abbrev, &offset), parse_manip< Parsable, CharT, Traits, Alloc >
 
std::string date::detail::to_string (std::uint64_t x)
 
template<class CharT , std::intmax_t N, std::intmax_t D>
std::enable_if< std::ratio< N, D >::type::den !=1, std::basic_string< CharT >>::type date::detail::msl (std::ratio< N, D >)
 
template<class CharT , std::intmax_t N, std::intmax_t D>
std::enable_if< std::ratio< N, D >::type::den==1, std::basic_string< CharT >>::type date::detail::msl (std::ratio< N, D >)
 
template<class CharT >
std::basic_string< CharT > date::detail::msl (std::atto)
 
template<class CharT >
std::basic_string< CharT > date::detail::msl (std::femto)
 
template<class CharT >
std::basic_string< CharT > date::detail::msl (std::pico)
 
template<class CharT >
std::basic_string< CharT > date::detail::msl (std::nano)
 
template<class CharT >
std::enable_if< std::is_same< CharT, char >::value, std::string >::type date::detail::msl (std::micro)
 
template<class CharT >
std::enable_if< !std::is_same< CharT, char >::value, std::basic_string< CharT >>::type date::detail::msl (std::micro)
 
template<class CharT >
std::basic_string< CharT > date::detail::msl (std::milli)
 
template<class CharT >
std::basic_string< CharT > date::detail::msl (std::centi)
 
template<class CharT >
std::basic_string< CharT > date::detail::msl (std::deci)
 
template<class CharT >
std::basic_string< CharT > date::detail::msl (std::deca)
 
template<class CharT >
std::basic_string< CharT > date::detail::msl (std::hecto)
 
template<class CharT >
std::basic_string< CharT > date::detail::msl (std::kilo)
 
template<class CharT >
std::basic_string< CharT > date::detail::msl (std::mega)
 
template<class CharT >
std::basic_string< CharT > date::detail::msl (std::giga)
 
template<class CharT >
std::basic_string< CharT > date::detail::msl (std::tera)
 
template<class CharT >
std::basic_string< CharT > date::detail::msl (std::peta)
 
template<class CharT >
std::basic_string< CharT > date::detail::msl (std::exa)
 
template<class CharT , class Period >
std::basic_string< CharT > date::detail::get_units (Period p)
 
template<class CharT >
std::basic_string< CharT > date::detail::get_units (std::ratio< 1 >)
 
template<class CharT >
std::basic_string< CharT > date::detail::get_units (std::ratio< 60 >)
 
template<class CharT >
std::basic_string< CharT > date::detail::get_units (std::ratio< 3600 >)
 
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}
 

Macro Definition Documentation

◆ CONSTCD11

#define CONSTCD11   constexpr

◆ CONSTCD14

#define CONSTCD14

◆ CONSTDATA

#define CONSTDATA   constexpr const

◆ HAS_CHRONO_ROUNDING

#define HAS_CHRONO_ROUNDING   0

◆ HAS_STRING_VIEW

#define HAS_STRING_VIEW   0

◆ HAS_VOID_T

#define HAS_VOID_T   0

◆ NOEXCEPT

#define NOEXCEPT   noexcept

◆ ONLY_C_LOCALE

#define ONLY_C_LOCALE   0