Lines Matching refs:__input

64 static void __skip_optional_whitespace(istream& __input) {  in __skip_optional_whitespace()  argument
65 while (chrono::__is_whitespace(__input.peek())) in __skip_optional_whitespace()
66 __input.get(); in __skip_optional_whitespace()
69 static void __skip_mandatory_whitespace(istream& __input) { in __skip_mandatory_whitespace() argument
70 if (!chrono::__is_whitespace(__input.get())) in __skip_mandatory_whitespace()
73 chrono::__skip_optional_whitespace(__input); in __skip_mandatory_whitespace()
78 static void __skip_line(istream& __input) { in __skip_line() argument
79 while (!chrono::__is_eol(__input.peek())) { in __skip_line()
80 __input.get(); in __skip_line()
82 __input.get(); in __skip_line()
85 static void __skip(istream& __input, char __suffix) { in __skip() argument
86 if (std::tolower(__input.peek()) == __suffix) in __skip()
87 __input.get(); in __skip()
90 static void __skip(istream& __input, string_view __suffix) { in __skip() argument
92 if (std::tolower(__input.peek()) == __c) in __skip()
93 __input.get(); in __skip()
96 static void __matches(istream& __input, char __expected) { in __matches() argument
97 if (std::tolower(__input.get()) != __expected) in __matches()
101 static void __matches(istream& __input, string_view __expected) { in __matches() argument
103 if (std::tolower(__input.get()) != __c) in __matches()
107 [[nodiscard]] static string __parse_string(istream& __input) { in __parse_string() argument
110 int __c = __input.get(); in __parse_string()
115 __input.unget(); in __parse_string()
129 [[nodiscard]] static int64_t __parse_integral(istream& __input, bool __leading_zero_allowed) { in __parse_integral() argument
130 int64_t __result = __input.get(); in __parse_integral()
140 if (__input.peek() < '0' || __input.peek() > '9') in __parse_integral()
158 __result += __input.get() - '0'; in __parse_integral()
166 [[nodiscard]] static day __parse_day(istream& __input) { in __parse_day() argument
167 unsigned __result = chrono::__parse_integral(__input, false); in __parse_day()
173 [[nodiscard]] static weekday __parse_weekday(istream& __input) { in __parse_weekday() argument
175 switch (std::tolower(__input.get())) { in __parse_weekday()
177 chrono::__skip(__input, "riday"); in __parse_weekday()
181 chrono::__skip(__input, "onday"); in __parse_weekday()
185 switch (std::tolower(__input.get())) { in __parse_weekday()
187 chrono::__skip(__input, "turday"); in __parse_weekday()
191 chrono::__skip(__input, "nday"); in __parse_weekday()
197 switch (std::tolower(__input.get())) { in __parse_weekday()
199 chrono::__skip(__input, "ursday"); in __parse_weekday()
203 chrono::__skip(__input, "esday"); in __parse_weekday()
208 chrono::__skip(__input, "ednesday"); in __parse_weekday()
215 [[nodiscard]] static month __parse_month(istream& __input) { in __parse_month() argument
217 switch (std::tolower(__input.get())) { in __parse_month()
219 switch (std::tolower(__input.get())) { in __parse_month()
221 chrono::__skip(__input, "ril"); in __parse_month()
225 chrono::__skip(__input, "gust"); in __parse_month()
231 chrono::__skip(__input, "ecember"); in __parse_month()
235 chrono::__skip(__input, "ebruary"); in __parse_month()
239 switch (std::tolower(__input.get())) { in __parse_month()
241 chrono::__skip(__input, "nuary"); in __parse_month()
245 switch (std::tolower(__input.get())) { in __parse_month()
247 chrono::__skip(__input, 'e'); in __parse_month()
251 chrono::__skip(__input, 'y'); in __parse_month()
258 if (std::tolower(__input.get()) == 'a') in __parse_month()
259 switch (std::tolower(__input.get())) { in __parse_month()
264 chrono::__skip(__input, "ch"); in __parse_month()
270 chrono::__skip(__input, "ovember"); in __parse_month()
274 chrono::__skip(__input, "ctober"); in __parse_month()
278 chrono::__skip(__input, "eptember"); in __parse_month()
284 [[nodiscard]] static year __parse_year_value(istream& __input) { in __parse_year_value() argument
285 bool __negative = __input.peek() == '-'; in __parse_year_value()
287 __input.get(); in __parse_year_value()
289 int64_t __result = __parse_integral(__input, true); in __parse_year_value()
300 [[nodiscard]] static year __parse_year(istream& __input) { in __parse_year() argument
301 if (std::tolower(__input.peek()) != 'm') [[likely]] in __parse_year()
302 return chrono::__parse_year_value(__input); in __parse_year()
304 __input.get(); in __parse_year()
305 switch (std::tolower(__input.peek())) { in __parse_year()
307 __input.get(); in __parse_year()
308 chrono::__skip(__input, 'n'); in __parse_year()
316 __input.get(); in __parse_year()
317 chrono::__skip(__input, 'x'); in __parse_year()
328 [[nodiscard]] static year __parse_to(istream& __input, year __only) { in __parse_to() argument
329 if (std::tolower(__input.peek()) != 'o') in __parse_to()
330 return chrono::__parse_year(__input); in __parse_to()
332 __input.get(); in __parse_to()
333 chrono::__skip(__input, "nly"); in __parse_to()
337 …discard]] static __tz::__constrained_weekday::__comparison_t __parse_comparison(istream& __input) { in __parse_comparison() argument
338 switch (__input.get()) { in __parse_comparison()
340 chrono::__matches(__input, '='); in __parse_comparison()
344 chrono::__matches(__input, '='); in __parse_comparison()
350 [[nodiscard]] static __tz::__on __parse_on(istream& __input) { in __parse_on() argument
351 if (std::isdigit(__input.peek())) in __parse_on()
352 return chrono::__parse_day(__input); in __parse_on()
354 if (std::tolower(__input.peek()) == 'l') { in __parse_on()
355 chrono::__matches(__input, "last"); in __parse_on()
356 return weekday_last(chrono::__parse_weekday(__input)); in __parse_on()
360 …chrono::__parse_weekday(__input), chrono::__parse_comparison(__input), chrono::__parse_day(__input in __parse_on()
363 [[nodiscard]] static seconds __parse_duration(istream& __input) { in __parse_duration() argument
365 int __c = __input.peek(); in __parse_duration()
368 __input.get(); in __parse_duration()
371 if (!std::isdigit(__input.peek())) in __parse_duration()
375 __result += hours(__parse_integral(__input, true)); in __parse_duration()
376 if (__input.peek() != ':') in __parse_duration()
379 __input.get(); in __parse_duration()
380 __result += minutes(__parse_integral(__input, true)); in __parse_duration()
381 if (__input.peek() != ':') in __parse_duration()
384 __input.get(); in __parse_duration()
385 __result += seconds(__parse_integral(__input, true)); in __parse_duration()
386 if (__input.peek() != '.') in __parse_duration()
389 __input.get(); in __parse_duration()
390 (void)__parse_integral(__input, true); // Truncate the digits. in __parse_duration()
395 [[nodiscard]] static __tz::__clock __parse_clock(istream& __input) { in __parse_clock() argument
396 switch (__input.get()) { // case sensitive in __parse_clock()
408 __input.unget(); in __parse_clock()
412 [[nodiscard]] static bool __parse_dst(istream& __input, seconds __offset) { in __parse_dst() argument
413 switch (__input.get()) { // case sensitive in __parse_dst()
421 __input.unget(); in __parse_dst()
425 [[nodiscard]] static __tz::__at __parse_at(istream& __input) { in __parse_at() argument
426 return {__parse_duration(__input), __parse_clock(__input)}; in __parse_at()
429 [[nodiscard]] static __tz::__save __parse_save(istream& __input) { in __parse_save() argument
430 seconds __time = chrono::__parse_duration(__input); in __parse_save()
431 return {__time, chrono::__parse_dst(__input, __time)}; in __parse_save()
434 [[nodiscard]] static string __parse_letters(istream& __input) { in __parse_letters() argument
435 string __result = __parse_string(__input); in __parse_letters()
440 [[nodiscard]] static __tz::__continuation::__rules_t __parse_rules(istream& __input) { in __parse_rules() argument
441 int __c = __input.peek(); in __parse_rules()
444 __input.get(); in __parse_rules()
445 if (chrono::__is_whitespace(__input.peek())) in __parse_rules()
447 __input.unget(); in __parse_rules()
448 return chrono::__parse_save(__input); in __parse_rules()
452 return chrono::__parse_save(__input); in __parse_rules()
454 return chrono::__parse_string(__input); in __parse_rules()
457 … __tz::__continuation __parse_continuation(__tz::__rules_storage_type& __rules, istream& __input) { in __parse_continuation() argument
467 __result.__stdoff = chrono::__parse_duration(__input); in __parse_continuation()
468 chrono::__skip_mandatory_whitespace(__input); in __parse_continuation()
469 __result.__rules = chrono::__parse_rules(__input); in __parse_continuation()
470 chrono::__skip_mandatory_whitespace(__input); in __parse_continuation()
471 __result.__format = chrono::__parse_string(__input); in __parse_continuation()
472 chrono::__skip_optional_whitespace(__input); in __parse_continuation()
474 if (chrono::__is_eol(__input.peek())) in __parse_continuation()
476 __result.__year = chrono::__parse_year(__input); in __parse_continuation()
477 chrono::__skip_optional_whitespace(__input); in __parse_continuation()
479 if (chrono::__is_eol(__input.peek())) in __parse_continuation()
481 __result.__in = chrono::__parse_month(__input); in __parse_continuation()
482 chrono::__skip_optional_whitespace(__input); in __parse_continuation()
484 if (chrono::__is_eol(__input.peek())) in __parse_continuation()
486 __result.__on = chrono::__parse_on(__input); in __parse_continuation()
487 chrono::__skip_optional_whitespace(__input); in __parse_continuation()
489 if (chrono::__is_eol(__input.peek())) in __parse_continuation()
491 __result.__at = __parse_at(__input); in __parse_continuation()
500 static string __parse_version(istream& __input) { in __parse_version() argument
506 chrono::__matches(__input, '#'); in __parse_version()
507 chrono::__skip_optional_whitespace(__input); in __parse_version()
508 chrono::__matches(__input, "version"); in __parse_version()
509 chrono::__skip_mandatory_whitespace(__input); in __parse_version()
510 return chrono::__parse_string(__input); in __parse_version()
535 static void __parse_rule(tzdb& __tzdb, __tz::__rules_storage_type& __rules, istream& __input) { in __parse_rule() argument
536 chrono::__skip_mandatory_whitespace(__input); in __parse_rule()
537 string __name = chrono::__parse_string(__input); in __parse_rule()
541 chrono::__skip_mandatory_whitespace(__input); in __parse_rule()
542 __rule.__from = chrono::__parse_year(__input); in __parse_rule()
543 chrono::__skip_mandatory_whitespace(__input); in __parse_rule()
544 __rule.__to = chrono::__parse_to(__input, __rule.__from); in __parse_rule()
545 chrono::__skip_mandatory_whitespace(__input); in __parse_rule()
546 chrono::__matches(__input, '-'); in __parse_rule()
547 chrono::__skip_mandatory_whitespace(__input); in __parse_rule()
548 __rule.__in = chrono::__parse_month(__input); in __parse_rule()
549 chrono::__skip_mandatory_whitespace(__input); in __parse_rule()
550 __rule.__on = chrono::__parse_on(__input); in __parse_rule()
551 chrono::__skip_mandatory_whitespace(__input); in __parse_rule()
552 __rule.__at = __parse_at(__input); in __parse_rule()
553 chrono::__skip_mandatory_whitespace(__input); in __parse_rule()
554 __rule.__save = __parse_save(__input); in __parse_rule()
555 chrono::__skip_mandatory_whitespace(__input); in __parse_rule()
556 __rule.__letters = chrono::__parse_letters(__input); in __parse_rule()
557 chrono::__skip_line(__input); in __parse_rule()
560 static void __parse_zone(tzdb& __tzdb, __tz::__rules_storage_type& __rules, istream& __input) { in __parse_zone() argument
561 chrono::__skip_mandatory_whitespace(__input); in __parse_zone()
562 auto __p = std::make_unique<time_zone::__impl>(chrono::__parse_string(__input), __rules); in __parse_zone()
564 chrono::__skip_mandatory_whitespace(__input); in __parse_zone()
568 __continuations.emplace_back(__parse_continuation(__rules, __input)); in __parse_zone()
569 chrono::__skip_line(__input); in __parse_zone()
570 chrono::__skip_optional_whitespace(__input); in __parse_zone()
571 } while (std::isdigit(__input.peek()) || __input.peek() == '-'); in __parse_zone()
576 static void __parse_link(tzdb& __tzdb, istream& __input) { in __parse_link() argument
577 chrono::__skip_mandatory_whitespace(__input); in __parse_link()
578 string __target = chrono::__parse_string(__input); in __parse_link()
579 chrono::__skip_mandatory_whitespace(__input); in __parse_link()
580 string __name = chrono::__parse_string(__input); in __parse_link()
581 chrono::__skip_line(__input); in __parse_link()
586 static void __parse_tzdata(tzdb& __db, __tz::__rules_storage_type& __rules, istream& __input) { in __parse_tzdata() argument
588 int __c = std::tolower(__input.get()); in __parse_tzdata()
600 chrono::__skip_line(__input); in __parse_tzdata()
604 chrono::__skip(__input, "ule"); in __parse_tzdata()
605 chrono::__parse_rule(__db, __rules, __input); in __parse_tzdata()
609 chrono::__skip(__input, "one"); in __parse_tzdata()
610 chrono::__parse_zone(__db, __rules, __input); in __parse_tzdata()
614 chrono::__skip(__input, "ink"); in __parse_tzdata()
615 chrono::__parse_link(__db, __input); in __parse_tzdata()
624 static void __parse_leap_seconds(vector<leap_second>& __leap_seconds, istream&& __input) { in __parse_leap_seconds() argument
636 switch (__input.peek()) { in __parse_leap_seconds()
643 __input.get(); in __parse_leap_seconds()
647 chrono::__skip_line(__input); in __parse_leap_seconds()
651 … sys_seconds __date = sys_seconds{seconds{chrono::__parse_integral(__input, false)}} - __offset; in __parse_leap_seconds()
652 chrono::__skip_mandatory_whitespace(__input); in __parse_leap_seconds()
653 seconds __value{chrono::__parse_integral(__input, false)}; in __parse_leap_seconds()
654 chrono::__skip_line(__input); in __parse_leap_seconds()