-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Labels
Description
The Standard defines zoned_time's constructor with recursive constraints. We currently mirror the Standard's definition in our implementation, but we should investigate whether it's possibly to implement them non-recursively.
Examples:
zoned_time(string_view{})
Lines 2980 to 2984 in 65eb507
| template <class _Traits2 = _Traits, enable_if_t<is_constructible< // TRANSITION, VSO-1303556 | |
| zoned_time, decltype(_Traits2::locate_zone(string_view{}))>::value, | |
| int> = 0> | |
| // clang-format on | |
| explicit zoned_time(string_view _Name) : _Zone{_Traits::locate_zone(_Name)} {} |
zoned_time(string_view, const sys_time))
Lines 2993 to 2998 in 65eb507
| template <class _Traits2 = _Traits, enable_if_t<is_constructible< // TRANSITION, VSO-1303556 | |
| zoned_time, decltype(_Traits2::locate_zone(string_view{})), const sys_time<_Duration>&>::value, | |
| int> = 0> | |
| // clang-format on | |
| zoned_time(string_view _Name, type_identity_t<const sys_time<_Duration>&> _Sys) | |
| : zoned_time{_Traits::locate_zone(_Name), _Sys} {} |