| // -*- C++ -*- | |
| //===----------------------------------------------------------------------===// | |
| // | |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
| // See https://llvm.org/LICENSE.txt for license information. | |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| // | |
| //===----------------------------------------------------------------------===// | |
| export namespace std { | |
| namespace chrono { | |
| using std::chrono::duration; | |
| using std::chrono::time_point; | |
| } // namespace chrono | |
| using std::common_type; | |
| namespace chrono { | |
| // [time.traits], customization traits | |
| using std::chrono::treat_as_floating_point; | |
| using std::chrono::treat_as_floating_point_v; | |
| using std::chrono::duration_values; | |
| using std::chrono::is_clock; | |
| using std::chrono::is_clock_v; | |
| // [time.duration.nonmember], duration arithmetic | |
| using std::chrono::operator+; | |
| using std::chrono::operator-; | |
| using std::chrono::operator*; | |
| using std::chrono::operator/; | |
| using std::chrono::operator%; | |
| // [time.duration.comparisons], duration comparisons | |
| using std::chrono::operator==; | |
| using std::chrono::operator<; | |
| using std::chrono::operator>; | |
| using std::chrono::operator<=; | |
| using std::chrono::operator>=; | |
| using std::chrono::operator<=>; | |
| // [time.duration.cast], conversions | |
| using std::chrono::ceil; | |
| using std::chrono::duration_cast; | |
| using std::chrono::floor; | |
| using std::chrono::round; | |
| // [time.duration.io], duration I/O | |
| #if _LIBCPP_HAS_LOCALIZATION | |
| using std::chrono::operator<<; | |
| #endif | |
| // using std::chrono::from_stream; | |
| // convenience typedefs | |
| using std::chrono::days; | |
| using std::chrono::hours; | |
| using std::chrono::microseconds; | |
| using std::chrono::milliseconds; | |
| using std::chrono::minutes; | |
| using std::chrono::months; | |
| using std::chrono::nanoseconds; | |
| using std::chrono::seconds; | |
| using std::chrono::weeks; | |
| using std::chrono::years; | |
| // [time.point.nonmember], time_point arithmetic | |
| // [time.point.comparisons], time_point comparisons | |
| // [time.point.cast], conversions | |
| using std::chrono::time_point_cast; | |
| // [time.duration.alg], specialized algorithms | |
| using std::chrono::abs; | |
| // [time.clock.system], class system_clock | |
| using std::chrono::system_clock; | |
| using std::chrono::sys_days; | |
| using std::chrono::sys_seconds; | |
| using std::chrono::sys_time; | |
| #if _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION | |
| # ifdef _LIBCPP_ENABLE_EXPERIMENTAL | |
| // [time.clock.utc], class utc_clock | |
| using std::chrono::utc_clock; | |
| using std::chrono::utc_seconds; | |
| using std::chrono::utc_time; | |
| using std::chrono::leap_second_info; | |
| using std::chrono::get_leap_second_info; | |
| // [time.clock.tai], class tai_clock | |
| using std::chrono::tai_clock; | |
| using std::chrono::tai_seconds; | |
| using std::chrono::tai_time; | |
| // [time.clock.gps], class gps_clock | |
| using std::chrono::gps_clock; | |
| using std::chrono::gps_seconds; | |
| using std::chrono::gps_time; | |
| # endif // _LIBCPP_ENABLE_EXPERIMENTAL | |
| #endif // _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION | |
| // [time.clock.file], type file_clock | |
| using std::chrono::file_clock; | |
| using std::chrono::file_time; | |
| #if _LIBCPP_HAS_MONOTONIC_CLOCK | |
| // [time.clock.steady], class steady_clock | |
| using std::chrono::steady_clock; | |
| #endif | |
| // [time.clock.hires], class high_resolution_clock | |
| using std::chrono::high_resolution_clock; | |
| // [time.clock.local], local time | |
| using std::chrono::local_days; | |
| using std::chrono::local_seconds; | |
| using std::chrono::local_t; | |
| using std::chrono::local_time; | |
| // [time.clock.cast], time_point conversions | |
| // using std::chrono::clock_time_conversion; | |
| // using std::chrono::clock_cast; | |
| // [time.cal.last], class last_spec | |
| using std::chrono::last_spec; | |
| // [time.cal.day], class day | |
| using std::chrono::day; | |
| // [time.cal.month], class month | |
| using std::chrono::month; | |
| // [time.cal.year], class year | |
| using std::chrono::year; | |
| // [time.cal.wd], class weekday | |
| using std::chrono::weekday; | |
| // [time.cal.wdidx], class weekday_indexed | |
| using std::chrono::weekday_indexed; | |
| // [time.cal.wdlast], class weekday_last | |
| using std::chrono::weekday_last; | |
| // [time.cal.md], class month_day | |
| using std::chrono::month_day; | |
| // [time.cal.mdlast], class month_day_last | |
| using std::chrono::month_day_last; | |
| // [time.cal.mwd], class month_weekday | |
| using std::chrono::month_weekday; | |
| // [time.cal.mwdlast], class month_weekday_last | |
| using std::chrono::month_weekday_last; | |
| // [time.cal.ym], class year_month | |
| using std::chrono::year_month; | |
| // [time.cal.ymd], class year_month_day | |
| using std::chrono::year_month_day; | |
| // [time.cal.ymdlast], class year_month_day_last | |
| using std::chrono::year_month_day_last; | |
| // [time.cal.ymwd], class year_month_weekday | |
| using std::chrono::year_month_weekday; | |
| // [time.cal.ymwdlast], class year_month_weekday_last | |
| using std::chrono::year_month_weekday_last; | |
| // [time.cal.operators], civil calendar conventional syntax operators | |
| // [time.hms], class template hh_mm_ss | |
| using std::chrono::hh_mm_ss; | |
| // [time.12], 12/24 hour functions | |
| using std::chrono::is_am; | |
| using std::chrono::is_pm; | |
| using std::chrono::make12; | |
| using std::chrono::make24; | |
| #ifdef _LIBCPP_ENABLE_EXPERIMENTAL | |
| # if _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION | |
| // [time.zone.db], time zone database | |
| using std::chrono::tzdb; | |
| using std::chrono::tzdb_list; | |
| // [time.zone.db.access], time zone database access | |
| using std::chrono::current_zone; | |
| using std::chrono::get_tzdb; | |
| using std::chrono::get_tzdb_list; | |
| using std::chrono::locate_zone; | |
| // [time.zone.db.remote], remote time zone database support | |
| using std::chrono::reload_tzdb; | |
| using std::chrono::remote_version; | |
| # endif // _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION | |
| // [time.zone.exception], exception classes | |
| using std::chrono::ambiguous_local_time; | |
| using std::chrono::nonexistent_local_time; | |
| // [time.zone.info], information classes | |
| using std::chrono::local_info; | |
| using std::chrono::sys_info; | |
| # if _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION | |
| // [time.zone.timezone], class time_zone | |
| using std::chrono::choose; | |
| using std::chrono::time_zone; | |
| // [time.zone.zonedtraits], class template zoned_traits | |
| using std::chrono::zoned_traits; | |
| // [time.zone.zonedtime], class template zoned_time | |
| using std::chrono::zoned_time; | |
| using std::chrono::zoned_seconds; | |
| // [time.zone.leap], leap second support | |
| using std::chrono::leap_second; | |
| // [time.zone.link], class time_zone_link | |
| using std::chrono::time_zone_link; | |
| # if 0 | |
| // [time.format], formatting | |
| using std::chrono::local_time_format; | |
| # endif | |
| # endif // _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION | |
| #endif // _LIBCPP_ENABLE_EXPERIMENTAL | |
| } // namespace chrono | |
| #if _LIBCPP_HAS_LOCALIZATION | |
| using std::formatter; | |
| #endif | |
| namespace chrono { | |
| // using std::chrono::parse; | |
| // calendrical constants | |
| using std::chrono::last; | |
| using std::chrono::Friday; | |
| using std::chrono::Monday; | |
| using std::chrono::Saturday; | |
| using std::chrono::Sunday; | |
| using std::chrono::Thursday; | |
| using std::chrono::Tuesday; | |
| using std::chrono::Wednesday; | |
| using std::chrono::April; | |
| using std::chrono::August; | |
| using std::chrono::December; | |
| using std::chrono::February; | |
| using std::chrono::January; | |
| using std::chrono::July; | |
| using std::chrono::June; | |
| using std::chrono::March; | |
| using std::chrono::May; | |
| using std::chrono::November; | |
| using std::chrono::October; | |
| using std::chrono::September; | |
| } // namespace chrono | |
| #if _LIBCPP_STD_VER >= 26 | |
| using std::hash; | |
| #endif | |
| } // namespace std | |
| export namespace std::inline literals::inline chrono_literals { | |
| // [time.duration.literals], suffixes for duration literals | |
| using std::literals::chrono_literals::operator""h; | |
| using std::literals::chrono_literals::operator""min; | |
| using std::literals::chrono_literals::operator""s; | |
| using std::literals::chrono_literals::operator""ms; | |
| using std::literals::chrono_literals::operator""us; | |
| using std::literals::chrono_literals::operator""ns; | |
| // [using std::literals::chrono_literals::.cal.day.nonmembers], non-member functions | |
| using std::literals::chrono_literals::operator""d; | |
| // [using std::literals::chrono_literals::.cal.year.nonmembers], non-member functions | |
| using std::literals::chrono_literals::operator""y; | |
| } // namespace std::inline literals::inline chrono_literals |