Dynalib Utils
Classes | Enumerations | Functions
date::detail Namespace Reference

Classes

struct  choose_trunc_type
 
struct  classify_duration
 
class  decimal_format_seconds
 
class  decimal_format_seconds< Duration, 0 >
 
struct  make_precision
 
struct  make_precision< Rep, w, false >
 
struct  make_string
 
struct  make_string< char >
 
struct  make_string< char, Traits >
 
struct  make_string< wchar_t >
 
struct  make_string< wchar_t, Traits >
 
class  MonthDayTime
 
struct  no_overflow
 
struct  rld
 
struct  rs
 
struct  ru
 
class  Rule
 
class  save_stream
 
struct  static_gcd
 
struct  static_gcd< 0, 0 >
 
struct  static_gcd< Xp, 0 >
 
struct  static_pow10
 
struct  static_pow10< 0 >
 
class  time_of_day_base
 
class  time_of_day_storage
 
class  time_of_day_storage< std::chrono::duration< Rep, Period >, detail::classify::hour >
 
class  time_of_day_storage< std::chrono::duration< Rep, Period >, detail::classify::minute >
 
class  time_of_day_storage< std::chrono::duration< Rep, Period >, detail::classify::second >
 
class  time_of_day_storage< std::chrono::duration< Rep, Period >, detail::classify::subsecond >
 
struct  undocumented
 
struct  width
 
struct  width< n, d, w, false >
 
struct  zonelet
 

Enumerations

enum  classify {
  classify::not_valid, classify::hour, classify::minute, classify::second,
  classify::subsecond
}
 
enum  tz { tz::utc, tz::local, tz::standard }
 

Functions

template<class T >
CONSTCD11 std::enable_if< !std::chrono::treat_as_floating_point< T >::value, T >::type trunc (T t) NOEXCEPT
 
template<class T >
CONSTCD14 std::enable_if< std::chrono::treat_as_floating_point< T >::value, T >::type trunc (T t) NOEXCEPT
 
template<class Rep , class Period >
CONSTCD11 std::enable_if< std::numeric_limits< Rep >::is_signed, std::chrono::duration< Rep, Period > >::type 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 abs (std::chrono::duration< Rep, Period > d)
 
template<class CharT , class Traits , class Duration >
unsigned extract_weekday (std::basic_ostream< CharT, Traits > &os, const fields< Duration > &fds)
 
template<class CharT , class Traits , class Duration >
unsigned extract_month (std::basic_ostream< CharT, Traits > &os, const fields< Duration > &fds)
 
template<class CharT , class Traits >
bool read_char (std::basic_istream< CharT, Traits > &is, CharT fmt, std::ios::iostate &err)
 
template<class CharT , class Traits >
unsigned read_unsigned (std::basic_istream< CharT, Traits > &is, unsigned m=1, unsigned M=10)
 
template<class CharT , class Traits >
int read_signed (std::basic_istream< CharT, Traits > &is, unsigned m=1, unsigned M=10)
 
template<class CharT , class Traits >
long double read_long_double (std::basic_istream< CharT, Traits > &is, unsigned m=1, unsigned M=10)
 
template<class CharT , class Traits >
void read (std::basic_istream< CharT, Traits > &)
 
template<class CharT , class Traits , class ... Args>
void read (std::basic_istream< CharT, Traits > &is, CharT a0, Args &&...args)
 
template<class CharT , class Traits , class ... Args>
void read (std::basic_istream< CharT, Traits > &is, rs a0, Args &&...args)
 
template<class CharT , class Traits , class ... Args>
void read (std::basic_istream< CharT, Traits > &is, ru a0, Args &&...args)
 
template<class CharT , class Traits , class ... Args>
void read (std::basic_istream< CharT, Traits > &is, int a0, Args &&...args)
 
template<class CharT , class Traits , class ... Args>
void read (std::basic_istream< CharT, Traits > &is, rld a0, Args &&...args)
 
std::string 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 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 msl (std::ratio< N, D >)
 
template<class CharT >
std::basic_string< CharT > msl (std::atto)
 
template<class CharT >
std::basic_string< CharT > msl (std::femto)
 
template<class CharT >
std::basic_string< CharT > msl (std::pico)
 
template<class CharT >
std::basic_string< CharT > msl (std::nano)
 
template<class CharT >
std::enable_if< std::is_same< CharT, char >::value, std::string >::type msl (std::micro)
 
template<class CharT >
std::enable_if< !std::is_same< CharT, char >::value, std::basic_string< CharT >>::type msl (std::micro)
 
template<class CharT >
std::basic_string< CharT > msl (std::milli)
 
template<class CharT >
std::basic_string< CharT > msl (std::centi)
 
template<class CharT >
std::basic_string< CharT > msl (std::deci)
 
template<class CharT >
std::basic_string< CharT > msl (std::deca)
 
template<class CharT >
std::basic_string< CharT > msl (std::hecto)
 
template<class CharT >
std::basic_string< CharT > msl (std::kilo)
 
template<class CharT >
std::basic_string< CharT > msl (std::mega)
 
template<class CharT >
std::basic_string< CharT > msl (std::giga)
 
template<class CharT >
std::basic_string< CharT > msl (std::tera)
 
template<class CharT >
std::basic_string< CharT > msl (std::peta)
 
template<class CharT >
std::basic_string< CharT > msl (std::exa)
 
template<class CharT , class Period >
std::basic_string< CharT > get_units (Period p)
 
template<class CharT >
std::basic_string< CharT > get_units (std::ratio< 1 >)
 
template<class CharT >
std::basic_string< CharT > get_units (std::ratio< 60 >)
 
template<class CharT >
std::basic_string< CharT > get_units (std::ratio< 3600 >)
 
template<class T >
T * to_raw_pointer (T *p) noexcept
 
template<class Pointer >
auto to_raw_pointer (Pointer p) noexcept -> decltype(detail::to_raw_pointer(p.operator->()))
 
std::istream & operator>> (std::istream &is, MonthDayTime &x)
 
std::ostream & operator<< (std::ostream &os, const MonthDayTime &x)
 
bool operator== (const Rule &x, const Rule &y)
 
bool operator< (const Rule &x, const Rule &y)
 
bool operator== (const Rule &x, const date::year &y)
 
bool operator< (const Rule &x, const date::year &y)
 
bool operator== (const date::year &x, const Rule &y)
 
bool operator< (const date::year &x, const Rule &y)
 
bool operator== (const Rule &x, const std::string &y)
 
bool operator< (const Rule &x, const std::string &y)
 
bool operator== (const std::string &x, const Rule &y)
 
bool operator< (const std::string &x, const Rule &y)
 
std::ostream & operator<< (std::ostream &os, const Rule &r)
 
bool operator!= (const Rule &x, const Rule &y)
 
bool operator> (const Rule &x, const Rule &y)
 
bool operator<= (const Rule &x, const Rule &y)
 
bool operator>= (const Rule &x, const Rule &y)
 
bool operator!= (const Rule &x, const date::year &y)
 
bool operator> (const Rule &x, const date::year &y)
 
bool operator<= (const Rule &x, const date::year &y)
 
bool operator>= (const Rule &x, const date::year &y)
 
bool operator!= (const date::year &x, const Rule &y)
 
bool operator> (const date::year &x, const Rule &y)
 
bool operator<= (const date::year &x, const Rule &y)
 
bool operator>= (const date::year &x, const Rule &y)
 
bool operator!= (const Rule &x, const std::string &y)
 
bool operator> (const Rule &x, const std::string &y)
 
bool operator<= (const Rule &x, const std::string &y)
 
bool operator>= (const Rule &x, const std::string &y)
 
bool operator!= (const std::string &x, const Rule &y)
 
bool operator> (const std::string &x, const Rule &y)
 
bool operator<= (const std::string &x, const Rule &y)
 
bool operator>= (const std::string &x, const Rule &y)
 

Enumeration Type Documentation

◆ classify

Enumerator
not_valid 
hour 
minute 
second 
subsecond 

◆ tz

enum date::detail::tz
strong
Enumerator
utc 
local 
standard 

Function Documentation

◆ abs() [1/2]

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)
inline

◆ abs() [2/2]

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)
inline

◆ extract_month()

template<class CharT , class Traits , class Duration >
unsigned date::detail::extract_month ( std::basic_ostream< CharT, Traits > &  os,
const fields< Duration > &  fds 
)

◆ extract_weekday()

template<class CharT , class Traits , class Duration >
unsigned date::detail::extract_weekday ( std::basic_ostream< CharT, Traits > &  os,
const fields< Duration > &  fds 
)

◆ get_units() [1/4]

template<class CharT , class Period >
std::basic_string<CharT> date::detail::get_units ( Period  p)

◆ get_units() [2/4]

template<class CharT >
std::basic_string<CharT> date::detail::get_units ( std::ratio< 1 >  )

◆ get_units() [3/4]

template<class CharT >
std::basic_string<CharT> date::detail::get_units ( std::ratio< 60 >  )

◆ get_units() [4/4]

template<class CharT >
std::basic_string<CharT> date::detail::get_units ( std::ratio< 3600 >  )

◆ msl() [1/19]

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 >  )
inline

◆ msl() [2/19]

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 >  )
inline

◆ msl() [3/19]

template<class CharT >
std::basic_string<CharT> date::detail::msl ( std::atto  )
inline

◆ msl() [4/19]

template<class CharT >
std::basic_string<CharT> date::detail::msl ( std::femto  )
inline

◆ msl() [5/19]

template<class CharT >
std::basic_string<CharT> date::detail::msl ( std::pico  )
inline

◆ msl() [6/19]

template<class CharT >
std::basic_string<CharT> date::detail::msl ( std::nano  )
inline

◆ msl() [7/19]

template<class CharT >
std::enable_if< std::is_same<CharT, char>::value, std::string>::type date::detail::msl ( std::micro  )
inline

◆ msl() [8/19]

template<class CharT >
std::enable_if< !std::is_same<CharT, char>::value, std::basic_string<CharT>>::type date::detail::msl ( std::micro  )
inline

◆ msl() [9/19]

template<class CharT >
std::basic_string<CharT> date::detail::msl ( std::milli  )
inline

◆ msl() [10/19]

template<class CharT >
std::basic_string<CharT> date::detail::msl ( std::centi  )
inline

◆ msl() [11/19]

template<class CharT >
std::basic_string<CharT> date::detail::msl ( std::deci  )
inline

◆ msl() [12/19]

template<class CharT >
std::basic_string<CharT> date::detail::msl ( std::deca  )
inline

◆ msl() [13/19]

template<class CharT >
std::basic_string<CharT> date::detail::msl ( std::hecto  )
inline

◆ msl() [14/19]

template<class CharT >
std::basic_string<CharT> date::detail::msl ( std::kilo  )
inline

◆ msl() [15/19]

template<class CharT >
std::basic_string<CharT> date::detail::msl ( std::mega  )
inline

◆ msl() [16/19]

template<class CharT >
std::basic_string<CharT> date::detail::msl ( std::giga  )
inline

◆ msl() [17/19]

template<class CharT >
std::basic_string<CharT> date::detail::msl ( std::tera  )
inline

◆ msl() [18/19]

template<class CharT >
std::basic_string<CharT> date::detail::msl ( std::peta  )
inline

◆ msl() [19/19]

template<class CharT >
std::basic_string<CharT> date::detail::msl ( std::exa  )
inline

◆ operator!=() [1/5]

bool date::detail::operator!= ( const Rule x,
const Rule y 
)
inline

◆ operator!=() [2/5]

bool date::detail::operator!= ( const Rule x,
const date::year y 
)
inline

◆ operator!=() [3/5]

bool date::detail::operator!= ( const date::year x,
const Rule y 
)
inline

◆ operator!=() [4/5]

bool date::detail::operator!= ( const Rule x,
const std::string &  y 
)
inline

◆ operator!=() [5/5]

bool date::detail::operator!= ( const std::string &  x,
const Rule y 
)
inline

◆ operator<() [1/5]

bool date::detail::operator< ( const Rule x,
const Rule y 
)

◆ operator<() [2/5]

bool date::detail::operator< ( const Rule x,
const date::year y 
)

◆ operator<() [3/5]

bool date::detail::operator< ( const date::year x,
const Rule y 
)

◆ operator<() [4/5]

bool date::detail::operator< ( const Rule x,
const std::string &  y 
)

◆ operator<() [5/5]

bool date::detail::operator< ( const std::string &  x,
const Rule y 
)

◆ operator<<() [1/2]

std::ostream & date::detail::operator<< ( std::ostream &  os,
const MonthDayTime x 
)

◆ operator<<() [2/2]

std::ostream & date::detail::operator<< ( std::ostream &  os,
const Rule r 
)

◆ operator<=() [1/5]

bool date::detail::operator<= ( const Rule x,
const Rule y 
)
inline

◆ operator<=() [2/5]

bool date::detail::operator<= ( const Rule x,
const date::year y 
)
inline

◆ operator<=() [3/5]

bool date::detail::operator<= ( const date::year x,
const Rule y 
)
inline

◆ operator<=() [4/5]

bool date::detail::operator<= ( const Rule x,
const std::string &  y 
)
inline

◆ operator<=() [5/5]

bool date::detail::operator<= ( const std::string &  x,
const Rule y 
)
inline

◆ operator==() [1/5]

bool date::detail::operator== ( const Rule x,
const Rule y 
)

◆ operator==() [2/5]

bool date::detail::operator== ( const Rule x,
const date::year y 
)

◆ operator==() [3/5]

bool date::detail::operator== ( const date::year x,
const Rule y 
)

◆ operator==() [4/5]

bool date::detail::operator== ( const Rule x,
const std::string &  y 
)

◆ operator==() [5/5]

bool date::detail::operator== ( const std::string &  x,
const Rule y 
)

◆ operator>() [1/5]

bool date::detail::operator> ( const Rule x,
const Rule y 
)
inline

◆ operator>() [2/5]

bool date::detail::operator> ( const Rule x,
const date::year y 
)
inline

◆ operator>() [3/5]

bool date::detail::operator> ( const date::year x,
const Rule y 
)
inline

◆ operator>() [4/5]

bool date::detail::operator> ( const Rule x,
const std::string &  y 
)
inline

◆ operator>() [5/5]

bool date::detail::operator> ( const std::string &  x,
const Rule y 
)
inline

◆ operator>=() [1/5]

bool date::detail::operator>= ( const Rule x,
const Rule y 
)
inline

◆ operator>=() [2/5]

bool date::detail::operator>= ( const Rule x,
const date::year y 
)
inline

◆ operator>=() [3/5]

bool date::detail::operator>= ( const date::year x,
const Rule y 
)
inline

◆ operator>=() [4/5]

bool date::detail::operator>= ( const Rule x,
const std::string &  y 
)
inline

◆ operator>=() [5/5]

bool date::detail::operator>= ( const std::string &  x,
const Rule y 
)
inline

◆ operator>>()

std::istream & date::detail::operator>> ( std::istream &  is,
MonthDayTime x 
)

◆ read() [1/6]

template<class CharT , class Traits >
void date::detail::read ( std::basic_istream< CharT, Traits > &  )

◆ read() [2/6]

template<class CharT , class Traits , class ... Args>
void date::detail::read ( std::basic_istream< CharT, Traits > &  is,
CharT  a0,
Args &&...  args 
)

◆ read() [3/6]

template<class CharT , class Traits , class ... Args>
void date::detail::read ( std::basic_istream< CharT, Traits > &  is,
rs  a0,
Args &&...  args 
)

◆ read() [4/6]

template<class CharT , class Traits , class ... Args>
void date::detail::read ( std::basic_istream< CharT, Traits > &  is,
ru  a0,
Args &&...  args 
)

◆ read() [5/6]

template<class CharT , class Traits , class ... Args>
void date::detail::read ( std::basic_istream< CharT, Traits > &  is,
int  a0,
Args &&...  args 
)

◆ read() [6/6]

template<class CharT , class Traits , class ... Args>
void date::detail::read ( std::basic_istream< CharT, Traits > &  is,
rld  a0,
Args &&...  args 
)

◆ read_char()

template<class CharT , class Traits >
bool date::detail::read_char ( std::basic_istream< CharT, Traits > &  is,
CharT  fmt,
std::ios::iostate &  err 
)

◆ read_long_double()

template<class CharT , class Traits >
long double date::detail::read_long_double ( std::basic_istream< CharT, Traits > &  is,
unsigned  m = 1,
unsigned  M = 10 
)

◆ read_signed()

template<class CharT , class Traits >
int date::detail::read_signed ( std::basic_istream< CharT, Traits > &  is,
unsigned  m = 1,
unsigned  M = 10 
)

◆ read_unsigned()

template<class CharT , class Traits >
unsigned date::detail::read_unsigned ( std::basic_istream< CharT, Traits > &  is,
unsigned  m = 1,
unsigned  M = 10 
)

◆ to_raw_pointer() [1/2]

template<class T >
T* date::detail::to_raw_pointer ( T *  p)
inlinenoexcept

◆ to_raw_pointer() [2/2]

template<class Pointer >
auto date::detail::to_raw_pointer ( Pointer  p) -> decltype(detail::to_raw_pointer(p.operator->()))
inlinenoexcept

◆ to_string()

std::basic_string< CharT > date::detail::to_string ( std::uint64_t  x)
inline

◆ trunc() [1/2]

template<class T >
CONSTCD11 std::enable_if< !std::chrono::treat_as_floating_point<T>::value, T>::type date::detail::trunc ( t)
inline

◆ trunc() [2/2]

template<class T >
CONSTCD14 std::enable_if< std::chrono::treat_as_floating_point<T>::value, T>::type date::detail::trunc ( t)
inline