brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.7 KiB · db405d4 Raw
303 lines · plain
1// -*- C++ -*-2//===----------------------------------------------------------------------===//3//4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.5// See https://llvm.org/LICENSE.txt for license information.6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception7//8//===----------------------------------------------------------------------===//9 10export namespace std {11 12  namespace chrono {13    using std::chrono::duration;14    using std::chrono::time_point;15 16  } // namespace chrono17 18  using std::common_type;19 20  namespace chrono {21 22    // [time.traits], customization traits23    using std::chrono::treat_as_floating_point;24    using std::chrono::treat_as_floating_point_v;25 26    using std::chrono::duration_values;27 28    using std::chrono::is_clock;29    using std::chrono::is_clock_v;30 31    // [time.duration.nonmember], duration arithmetic32    using std::chrono::operator+;33    using std::chrono::operator-;34    using std::chrono::operator*;35    using std::chrono::operator/;36    using std::chrono::operator%;37 38    // [time.duration.comparisons], duration comparisons39    using std::chrono::operator==;40    using std::chrono::operator<;41    using std::chrono::operator>;42    using std::chrono::operator<=;43    using std::chrono::operator>=;44    using std::chrono::operator<=>;45 46    // [time.duration.cast], conversions47    using std::chrono::ceil;48    using std::chrono::duration_cast;49    using std::chrono::floor;50    using std::chrono::round;51 52    // [time.duration.io], duration I/O53#if _LIBCPP_HAS_LOCALIZATION54    using std::chrono::operator<<;55#endif56    // using std::chrono::from_stream;57 58    // convenience typedefs59    using std::chrono::days;60    using std::chrono::hours;61    using std::chrono::microseconds;62    using std::chrono::milliseconds;63    using std::chrono::minutes;64    using std::chrono::months;65    using std::chrono::nanoseconds;66    using std::chrono::seconds;67    using std::chrono::weeks;68    using std::chrono::years;69 70    // [time.point.nonmember], time_point arithmetic71 72    // [time.point.comparisons], time_point comparisons73 74    // [time.point.cast], conversions75    using std::chrono::time_point_cast;76 77    // [time.duration.alg], specialized algorithms78    using std::chrono::abs;79 80    // [time.clock.system], class system_clock81    using std::chrono::system_clock;82 83    using std::chrono::sys_days;84    using std::chrono::sys_seconds;85    using std::chrono::sys_time;86 87#if _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION88#  ifdef _LIBCPP_ENABLE_EXPERIMENTAL89 90    // [time.clock.utc], class utc_clock91    using std::chrono::utc_clock;92 93    using std::chrono::utc_seconds;94    using std::chrono::utc_time;95 96    using std::chrono::leap_second_info;97 98    using std::chrono::get_leap_second_info;99 100    // [time.clock.tai], class tai_clock101    using std::chrono::tai_clock;102 103    using std::chrono::tai_seconds;104    using std::chrono::tai_time;105 106    // [time.clock.gps], class gps_clock107    using std::chrono::gps_clock;108 109    using std::chrono::gps_seconds;110    using std::chrono::gps_time;111#  endif // _LIBCPP_ENABLE_EXPERIMENTAL112#endif   //  _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION113 114    // [time.clock.file], type file_clock115    using std::chrono::file_clock;116 117    using std::chrono::file_time;118 119#if _LIBCPP_HAS_MONOTONIC_CLOCK120    // [time.clock.steady], class steady_clock121    using std::chrono::steady_clock;122#endif123 124    // [time.clock.hires], class high_resolution_clock125    using std::chrono::high_resolution_clock;126 127    // [time.clock.local], local time128    using std::chrono::local_days;129    using std::chrono::local_seconds;130    using std::chrono::local_t;131    using std::chrono::local_time;132 133    // [time.clock.cast], time_point conversions134    // using std::chrono::clock_time_conversion;135 136    // using std::chrono::clock_cast;137 138    // [time.cal.last], class last_spec139    using std::chrono::last_spec;140 141    // [time.cal.day], class day142    using std::chrono::day;143 144    // [time.cal.month], class month145    using std::chrono::month;146 147    // [time.cal.year], class year148    using std::chrono::year;149 150    // [time.cal.wd], class weekday151    using std::chrono::weekday;152 153    // [time.cal.wdidx], class weekday_indexed154    using std::chrono::weekday_indexed;155 156    // [time.cal.wdlast], class weekday_last157    using std::chrono::weekday_last;158 159    // [time.cal.md], class month_day160    using std::chrono::month_day;161 162    // [time.cal.mdlast], class month_day_last163    using std::chrono::month_day_last;164 165    // [time.cal.mwd], class month_weekday166    using std::chrono::month_weekday;167 168    // [time.cal.mwdlast], class month_weekday_last169    using std::chrono::month_weekday_last;170 171    // [time.cal.ym], class year_month172    using std::chrono::year_month;173 174    // [time.cal.ymd], class year_month_day175    using std::chrono::year_month_day;176 177    // [time.cal.ymdlast], class year_month_day_last178    using std::chrono::year_month_day_last;179 180    // [time.cal.ymwd], class year_month_weekday181    using std::chrono::year_month_weekday;182 183    // [time.cal.ymwdlast], class year_month_weekday_last184    using std::chrono::year_month_weekday_last;185 186    // [time.cal.operators], civil calendar conventional syntax operators187 188    // [time.hms], class template hh_mm_ss189    using std::chrono::hh_mm_ss;190 191    // [time.12], 12/24 hour functions192    using std::chrono::is_am;193    using std::chrono::is_pm;194    using std::chrono::make12;195    using std::chrono::make24;196 197#ifdef _LIBCPP_ENABLE_EXPERIMENTAL198 199#  if _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION200 201    // [time.zone.db], time zone database202    using std::chrono::tzdb;203    using std::chrono::tzdb_list;204 205    // [time.zone.db.access], time zone database access206    using std::chrono::current_zone;207    using std::chrono::get_tzdb;208    using std::chrono::get_tzdb_list;209    using std::chrono::locate_zone;210 211    // [time.zone.db.remote], remote time zone database support212    using std::chrono::reload_tzdb;213    using std::chrono::remote_version;214 215#  endif //  _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION216 217    // [time.zone.exception], exception classes218    using std::chrono::ambiguous_local_time;219    using std::chrono::nonexistent_local_time;220 221    // [time.zone.info], information classes222    using std::chrono::local_info;223    using std::chrono::sys_info;224 225#  if _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION226 227    // [time.zone.timezone], class time_zone228    using std::chrono::choose;229    using std::chrono::time_zone;230 231    // [time.zone.zonedtraits], class template zoned_traits232    using std::chrono::zoned_traits;233 234    // [time.zone.zonedtime], class template zoned_time235    using std::chrono::zoned_time;236 237    using std::chrono::zoned_seconds;238 239    // [time.zone.leap], leap second support240    using std::chrono::leap_second;241 242    // [time.zone.link], class time_zone_link243    using std::chrono::time_zone_link;244 245#    if 0246    // [time.format], formatting247    using std::chrono::local_time_format;248#    endif249#  endif //  _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION250#endif   // _LIBCPP_ENABLE_EXPERIMENTAL251 252  } // namespace chrono253 254#if _LIBCPP_HAS_LOCALIZATION255  using std::formatter;256#endif257 258  namespace chrono {259    // using std::chrono::parse;260 261    // calendrical constants262    using std::chrono::last;263 264    using std::chrono::Friday;265    using std::chrono::Monday;266    using std::chrono::Saturday;267    using std::chrono::Sunday;268    using std::chrono::Thursday;269    using std::chrono::Tuesday;270    using std::chrono::Wednesday;271 272    using std::chrono::April;273    using std::chrono::August;274    using std::chrono::December;275    using std::chrono::February;276    using std::chrono::January;277    using std::chrono::July;278    using std::chrono::June;279    using std::chrono::March;280    using std::chrono::May;281    using std::chrono::November;282    using std::chrono::October;283    using std::chrono::September;284 285  } // namespace chrono286 287} // namespace std288export namespace std::inline literals::inline chrono_literals {289  // [time.duration.literals], suffixes for duration literals290  using std::literals::chrono_literals::operator""h;291  using std::literals::chrono_literals::operator""min;292  using std::literals::chrono_literals::operator""s;293  using std::literals::chrono_literals::operator""ms;294  using std::literals::chrono_literals::operator""us;295  using std::literals::chrono_literals::operator""ns;296 297  // [using std::literals::chrono_literals::.cal.day.nonmembers], non-member functions298  using std::literals::chrono_literals::operator""d;299 300  // [using std::literals::chrono_literals::.cal.year.nonmembers], non-member functions301  using std::literals::chrono_literals::operator""y;302} // namespace std::inline literals::inline chrono_literals303