WPILibC++ 2024.3.2
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  detail::null_chrono_spec_handler< Derived >
 
struct  detail::tm_format_checker
 
struct  detail::has_member_data_tm_gmtoff< T, typename >
 
struct  detail::has_member_data_tm_gmtoff< T, void_t< decltype(T::tm_gmtoff)> >
 
struct  detail::has_member_data_tm_zone< T, typename >
 
struct  detail::has_member_data_tm_zone< T, void_t< decltype(T::tm_zone)> >
 
struct  detail::count_fractional_digits< Num, Den, N, Enabled >
 
struct  detail::count_fractional_digits< Num, Den, N, false >
 
class  detail::tm_writer< OutputIt, Char, Duration >
 
struct  detail::chrono_format_checker
 
struct  detail::make_unsigned_or_unchanged< T, INTEGRAL >
 
struct  detail::make_unsigned_or_unchanged< T, true >
 
class  detail::get_locale
 
struct  detail::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
 detail namespace with internal helper functions
 

Macros

#define FMT_USE_LOCAL_TIME   0
 
#define FMT_USE_UTC_TIME   0
 
#define FMT_USE_TZSET   0
 
#define FMT_SAFE_DURATION_CAST   1
 
#define FMT_NOMACRO
 

Enumerations

enum class  detail::numeric_system { detail::standard , detail::alternative }
 
enum class  detail::pad_type { detail::unspecified , detail::none , detail::zero , detail::space }
 

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_BEGIN_EXPORT 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 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)
 
void detail::write_digit2_separated (char *buf, unsigned a, unsigned b, unsigned c, char sep)
 
template<typename Period >
FMT_CONSTEXPR const char * detail::get_units ()
 
template<typename OutputIt >
auto detail::write_padding (OutputIt out, pad_type pad, int width) -> OutputIt
 
template<typename OutputIt >
auto detail::write_padding (OutputIt out, pad_type pad) -> OutputIt
 
template<typename Char , typename Handler >
FMT_CONSTEXPR const Char * detail::parse_chrono_format (const Char *begin, const Char *end, Handler &&handler)
 
const char * detail::tm_wday_full_name (int wday)
 
const char * detail::tm_wday_short_name (int wday)
 
const char * detail::tm_mon_full_name (int mon)
 
const char * detail::tm_mon_short_name (int mon)
 
template<typename T , typename Int , FMT_ENABLE_IF(std::is_integral< T >::value) >
Int detail::to_nonnegative_int (T value, Int upper)
 
constexpr long long detail::pow10 (std::uint32_t n)
 
template<typename Char , typename OutputIt , typename Duration >
void detail::write_fractional_seconds (OutputIt &out, Duration d, int precision=-1)
 
template<typename Duration >
void detail::write_floating_seconds (memory_buffer &buf, Duration duration, int num_fractional_digits=-1)
 
template<typename T , FMT_ENABLE_IF(std::is_integral< T >::value &&has_isfinite< T >::value) >
bool detail::isfinite (T)
 
template<typename T , FMT_ENABLE_IF(std::is_integral< T >::value) >
detail::mod (T x, int y)
 
template<typename To , typename FromRep , typename FromPeriod >
To detail::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 > detail::get_milliseconds (std::chrono::duration< Rep, Period > d)
 
template<typename Char , typename Rep , typename OutputIt , FMT_ENABLE_IF(std::is_integral< Rep >::value) >
OutputIt detail::format_duration_value (OutputIt out, Rep val, int)
 
template<typename Char , typename OutputIt >
OutputIt detail::copy_unit (string_view unit, OutputIt out, Char)
 
template<typename OutputIt >
OutputIt detail::copy_unit (string_view unit, OutputIt out, wchar_t)
 
template<typename Char , typename Period , typename OutputIt >
OutputIt detail::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_LOCAL_TIME

#define FMT_USE_LOCAL_TIME   0

◆ FMT_USE_TZSET

#define FMT_USE_TZSET   0

◆ FMT_USE_UTC_TIME

#define FMT_USE_UTC_TIME   0

Function Documentation

◆ 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.

◆ localtime()

FMT_BEGIN_EXPORT 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.