Namespaces
Variants

Deduction guides for std::chrono::zoned_time

From cppreference.net
zoned_time ( ) - > zoned_time < std:: chrono :: seconds > ;
(1) (自 C++20 起)
template < class Duration >

zoned_time ( std:: chrono :: sys_time < Duration > )

- > zoned_time < std:: common_type_t < Duration, std:: chrono :: seconds >> ;
(2) (自 C++20 起)
template < class TimeZonePtrOrName >
zoned_time ( TimeZonePtrOrName && ) - > zoned_time < std:: chrono :: seconds , /* 见下文 */ > ;
(3) (自 C++20 起)
template < class TimeZonePtrOrName, class Duration >

zoned_time ( TimeZonePtrOrName && , std:: chrono :: sys_time < Duration > )

- > zoned_time < std:: common_type_t < Duration, std:: chrono :: seconds > , /* 见下文 */ > ;
(4) (自 C++20 起)
template < class TimeZonePtrOrName, class Duration >

zoned_time ( TimeZonePtrOrName && , std:: chrono :: local_time < Duration > ,
std:: chrono :: choose = std :: chrono :: choose :: earliest )

- > zoned_time < std:: common_type_t < Duration, std:: chrono :: seconds > , /* 见下文 */ > ;
(5) (自 C++20 起)
template < class TimeZonePtrOrName, class Duration, class TimeZonePtr2 >

zoned_time ( TimeZonePtrOrName && , std:: chrono :: zoned_time < Duration, TimeZonePtr2 > ,
std:: chrono :: choose = std :: chrono :: choose :: earliest )

- > zoned_time < std:: common_type_t < Duration, std:: chrono :: seconds > , /* 见下文 */ > ;
(6) (自 C++20 起)

这些推导指引将 Duration 标准化为最小精度为 std::chrono::seconds 的格式,并为通过可转换为 std:: string_view 类型指定的时区名称提供正确处理机制。

3-6) std:: is_convertible_v < TimeZonePtrOrName, std:: string_view > true ,则推导出的第二个模板参数为 const std:: chrono :: time_zone * 。否则为 std:: remove_cvref_t < TimeZonePtrOrName >