WPILibC++ 2023.4.3
chrono.h File Reference
#include <algorithm>
#include <chrono>
#include <cmath>
#include <cstring>
#include <ctime>
#include <iterator>
#include <locale>
#include <ostream>
#include <type_traits>
#include "format.h"

Go to the source code of this file.

Classes

struct  detail::null< T >
 
struct  detail::codecvt_result< CodeUnit >
 
struct  null_chrono_spec_handler< Derived >
 
struct  tm_format_checker
 
struct  has_member_data_tm_gmtoff< T, typename >
 
struct  has_member_data_tm_gmtoff< T, void_t< decltype(T::tm_gmtoff)> >
 
struct  has_member_data_tm_zone< T, typename >
 
struct  has_member_data_tm_zone< T, void_t< decltype(T::tm_zone)> >
 
class  tm_writer< OutputIt, Char >
 
struct  chrono_format_checker
 
struct  make_unsigned_or_unchanged< T, INTEGRAL >
 
struct  make_unsigned_or_unchanged< T, true >
 
struct  count_fractional_digits< Num, Den, N, Enabled >
 
struct  count_fractional_digits< Num, Den, N, false >
 
class  get_locale
 
struct  chrono_formatter< FormatContext, OutputIt, Rep, Period >
 
class  weekday
 
class  year_month_day
 
struct  formatter< weekday, Char >
 
struct  formatter< std::chrono::duration< Rep, Period >, Char >
 
struct  formatter< std::chrono::time_point< std::chrono::system_clock, Duration >, Char >
 
struct  formatter< std::tm, Char >
 

Namespaces

namespace  safe_duration_cast
 
namespace  detail
 

Macros

#define FMT_USE_TZSET   0
 
#define FMT_SAFE_DURATION_CAST   1
 
#define FMT_NOMACRO
 

Enumerations

enum class  numeric_system { standard , alternative }
 

Functions

template<typename To , typename From , FMT_ENABLE_IF(!std::is_same< From, To >::value && std::numeric_limits< From >::is_signed== std::numeric_limits< To >::is_signed) >
FMT_CONSTEXPR To safe_duration_cast::lossless_integral_conversion (const From from, int &ec)
 converts From to To, without loss. More...
 
template<typename To , typename From , FMT_ENABLE_IF(!std::is_same< From, To >::value) >
FMT_CONSTEXPR To safe_duration_cast::safe_float_conversion (const From from, int &ec)
 converts From to To if possible, otherwise ec is set. More...
 
template<typename To , typename FromRep , typename FromPeriod , FMT_ENABLE_IF(std::is_integral< FromRep >::value) , FMT_ENABLE_IF(std::is_integral< typename To::rep >::value) >
To safe_duration_cast::safe_duration_cast (std::chrono::duration< FromRep, FromPeriod > from, int &ec)
 safe duration cast between integral durations More...
 
null localtime_r detail::FMT_NOMACRO (...)
 
null detail::localtime_s (...)
 
null detail::gmtime_r (...)
 
null detail::gmtime_s (...)
 
const std::locale & detail::get_classic_locale ()
 
template<typename CodeUnit >
void detail::write_codecvt (codecvt_result< CodeUnit > &out, string_view in_buf, const std::locale &loc)
 
template<typename OutputIt >
auto detail::write_encoded_tm_str (OutputIt out, string_view in, const std::locale &loc) -> OutputIt
 
template<typename Char , typename OutputIt , FMT_ENABLE_IF(!std::is_same< Char, char >::value) >
auto detail::write_tm_str (OutputIt out, string_view sv, const std::locale &loc) -> OutputIt
 
template<typename Char >
void detail::do_write (buffer< Char > &buf, const std::tm &time, const std::locale &loc, char format, char modifier)
 
template<typename Char , typename OutputIt , FMT_ENABLE_IF(!std::is_same< Char, char >::value) >
auto detail::write (OutputIt out, const std::tm &time, const std::locale &loc, char format, char modifier=0) -> OutputIt
 
FMT_MODULE_EXPORT_BEGIN std::tm localtime (std::time_t time)
 Converts given time since epoch as std::time_t value into calendar time, expressed in local time. More...
 
std::tm localtime (std::chrono::time_point< std::chrono::system_clock > time_point)
 
std::tm gmtime (std::time_t time)
 Converts given time since epoch as std::time_t value into calendar time, expressed in Coordinated Universal Time (UTC). More...
 
std::tm gmtime (std::chrono::time_point< std::chrono::system_clock > time_point)
 
FMT_BEGIN_DETAIL_NAMESPACE void write_digit2_separated (char *buf, unsigned a, unsigned b, unsigned c, char sep)
 
template<typename Period >
FMT_CONSTEXPR const char * get_units ()
 
template<typename Char , typename Handler >
FMT_CONSTEXPR const Char * parse_chrono_format (const Char *begin, const Char *end, Handler &&handler)
 
const char * tm_wday_full_name (int wday)
 
const char * tm_wday_short_name (int wday)
 
const char * tm_mon_full_name (int mon)
 
const char * tm_mon_short_name (int mon)
 
template<typename T , FMT_ENABLE_IF(std::is_integral< T >::value) >
bool isfinite (T)
 
template<typename T , typename Int , FMT_ENABLE_IF(std::is_integral< T >::value) >
Int to_nonnegative_int (T value, Int upper)
 
template<typename T , FMT_ENABLE_IF(std::is_integral< T >::value) >
mod (T x, int y)
 
template<typename To , typename FromRep , typename FromPeriod >
To fmt_safe_duration_cast (std::chrono::duration< FromRep, FromPeriod > from)
 
template<typename Rep , typename Period , FMT_ENABLE_IF(std::is_integral< Rep >::value) >
std::chrono::duration< Rep, std::milli > get_milliseconds (std::chrono::duration< Rep, Period > d)
 
constexpr long long pow10 (std::uint32_t n)
 
template<class Rep , class Period , FMT_ENABLE_IF(std::numeric_limits< Rep >::is_signed) >
constexpr std::chrono::duration< Rep, Period > abs (std::chrono::duration< Rep, Period > d)
 
template<typename Char , typename Rep , typename OutputIt , FMT_ENABLE_IF(std::is_integral< Rep >::value) >
OutputIt format_duration_value (OutputIt out, Rep val, int)
 
template<typename Char , typename OutputIt >
OutputIt copy_unit (string_view unit, OutputIt out, Char)
 
template<typename OutputIt >
OutputIt copy_unit (string_view unit, OutputIt out, wchar_t)
 
template<typename Char , typename Period , typename OutputIt >
OutputIt format_duration_unit (OutputIt out)
 

Macro Definition Documentation

◆ FMT_NOMACRO

#define FMT_NOMACRO

◆ FMT_SAFE_DURATION_CAST

#define FMT_SAFE_DURATION_CAST   1

◆ FMT_USE_TZSET

#define FMT_USE_TZSET   0

Enumeration Type Documentation

◆ numeric_system

enum class numeric_system
strong
Enumerator
standard 
alternative 

Function Documentation

◆ abs()

template<class Rep , class Period , FMT_ENABLE_IF(std::numeric_limits< Rep >::is_signed) >
constexpr std::chrono::duration< Rep, Period > abs ( std::chrono::duration< Rep, Period >  d)
constexpr

◆ copy_unit() [1/2]

template<typename Char , typename OutputIt >
OutputIt copy_unit ( string_view  unit,
OutputIt  out,
Char   
)

◆ copy_unit() [2/2]

template<typename OutputIt >
OutputIt copy_unit ( string_view  unit,
OutputIt  out,
wchar_t   
)

◆ fmt_safe_duration_cast()

template<typename To , typename FromRep , typename FromPeriod >
To fmt_safe_duration_cast ( std::chrono::duration< FromRep, FromPeriod >  from)

◆ format_duration_unit()

template<typename Char , typename Period , typename OutputIt >
OutputIt format_duration_unit ( OutputIt  out)

◆ format_duration_value()

template<typename Char , typename Rep , typename OutputIt , FMT_ENABLE_IF(std::is_integral< Rep >::value) >
OutputIt format_duration_value ( OutputIt  out,
Rep  val,
int  precision 
)

◆ get_milliseconds()

template<typename Rep , typename Period , FMT_ENABLE_IF(std::is_integral< Rep >::value) >
std::chrono::duration< Rep, std::milli > get_milliseconds ( std::chrono::duration< Rep, Period >  d)
inline

◆ get_units()

template<typename Period >
FMT_CONSTEXPR const char * get_units ( )
inline

◆ gmtime() [1/2]

std::tm gmtime ( std::chrono::time_point< std::chrono::system_clock >  time_point)
inline

◆ gmtime() [2/2]

std::tm gmtime ( std::time_t  time)
inline

Converts given time since epoch as std::time_t value into calendar time, expressed in Coordinated Universal Time (UTC).

Unlike std::gmtime, this function is thread-safe on most platforms.

◆ isfinite()

template<typename T , FMT_ENABLE_IF(std::is_integral< T >::value) >
bool isfinite ( )
inline

◆ localtime() [1/2]

std::tm localtime ( std::chrono::time_point< std::chrono::system_clock >  time_point)
inline

◆ localtime() [2/2]

FMT_MODULE_EXPORT_BEGIN std::tm localtime ( std::time_t  time)
inline

Converts given time since epoch as std::time_t value into calendar time, expressed in local time.

Unlike std::localtime, this function is thread-safe on most platforms.

◆ mod()

template<typename T , FMT_ENABLE_IF(std::is_integral< T >::value) >
T mod ( x,
int  y 
)
inline

◆ parse_chrono_format()

template<typename Char , typename Handler >
FMT_CONSTEXPR const Char * parse_chrono_format ( const Char *  begin,
const Char *  end,
Handler &&  handler 
)

◆ pow10()

constexpr long long pow10 ( std::uint32_t  n)
constexpr

◆ tm_mon_full_name()

const char * tm_mon_full_name ( int  mon)
inline

◆ tm_mon_short_name()

const char * tm_mon_short_name ( int  mon)
inline

◆ tm_wday_full_name()

const char * tm_wday_full_name ( int  wday)
inline

◆ tm_wday_short_name()

const char * tm_wday_short_name ( int  wday)
inline

◆ to_nonnegative_int()

template<typename T , typename Int , FMT_ENABLE_IF(std::is_integral< T >::value) >
Int to_nonnegative_int ( value,
Int  upper 
)
inline

◆ write_digit2_separated()

FMT_BEGIN_DETAIL_NAMESPACE void write_digit2_separated ( char *  buf,
unsigned  a,
unsigned  b,
unsigned  c,
char  sep 
)
inline